Skip to content

BitReader

Defined in: packages/core/src/buffer/stream/bit-reader.ts:8

A cursor over an existing Uint8Array, reading individual bits MSB-first within each byte — the bit-level counterpart of ByteReader, for any bit-packed format (ASN.1 PER/X.691, other bitfield-oriented wire protocols).

Every read advances the cursor by the number of bits read; nothing is copied.

new BitReader(bytes): BitReader

Defined in: packages/core/src/buffer/stream/bit-reader.ts:16

Uint8Array

The bytes to read from. Not copied — mutating bytes after construction is visible to this reader.

BitReader

get atEnd(): boolean

Defined in: packages/core/src/buffer/stream/bit-reader.ts:24

Whether every bit has been read.

boolean


get bitsRemaining(): number

Defined in: packages/core/src/buffer/stream/bit-reader.ts:19

How many bits remain unread.

number

align(): void

Defined in: packages/core/src/buffer/stream/bit-reader.ts:83

For aligned PER-style formats: advances to the next byte boundary.

void


readBigBits(n): bigint

Defined in: packages/core/src/buffer/stream/bit-reader.ts:74

Reads the next n bits as an unsigned integer, MSB first — the bigint counterpart of readBits, for n beyond 32 (e.g. a PER constrained integer whose range needs more than 32 bits).

number

bigint


readBit(): 0 | 1

Defined in: packages/core/src/buffer/stream/bit-reader.ts:45

Reads and returns the next bit, advancing the cursor by one.

0 | 1


readBits(n): number

Defined in: packages/core/src/buffer/stream/bit-reader.ts:55

Reads the next n bits as an unsigned integer, MSB first.

number

number

When n is greater than 32 — use readBigBits for a wider field.


readByte(): number

Defined in: packages/core/src/buffer/stream/bit-reader.ts:111

Reads a complete byte (8 bits).

number


readBytes(n): Uint8Array

Defined in: packages/core/src/buffer/stream/bit-reader.ts:96

Reads n complete bytes as a view (not a copy) into the underlying buffer.

number

Uint8Array

When the cursor isn’t currently byte-aligned, or fewer than n bytes remain.