Skip to content

BitBuilder

Defined in: packages/core/src/buffer/stream/bit-builder.ts:10

Accumulates individual bits into bytes, MSB-first within each byte — the bit-level counterpart of ByteBuilder, for any bit-packed format (ASN.1 PER/X.691, other bitfield-oriented wire protocols).

Every writeBit/writeBits call is O(1) (or O(n) in the bit count for writeBits, never re-walking bits already written); the cost of assembling the final byte array is paid once, in result().

new BitBuilder(): BitBuilder

BitBuilder

get bitLength(): number

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

Total bits written so far.

number

align(): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:68

For aligned PER-style formats: pads with zero bits to the next byte boundary.

void


result(): Uint8Array

Defined in: packages/core/src/buffer/stream/bit-builder.ts:92

Produces the accumulated bytes, padding the last one with zero bits if needed.

Uint8Array


writeBit(bit): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:21

Writes a single bit.

0 | 1

void


writeBits(value, n): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:43

Writes the low n bits of value, MSB first.

number

The bits to write. A plain number covers n up to 32 — the range JS’s <</>>> bitwise operators support; a bigint covers any wider n (e.g. a PER constrained integer whose range needs more than 32 bits).

number

How many low bits of value to write.

void

When value is a plain number and n is greater than 32.

writeBits(value, n): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:44

Writes the low n bits of value, MSB first.

bigint

The bits to write. A plain number covers n up to 32 — the range JS’s <</>>> bitwise operators support; a bigint covers any wider n (e.g. a PER constrained integer whose range needs more than 32 bits).

number

How many low bits of value to write.

void

When value is a plain number and n is greater than 32.


writeByte(value): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:77

Writes a complete byte (8 bits).

number

void


writeBytes(data): void

Defined in: packages/core/src/buffer/stream/bit-builder.ts:82

Writes every byte of data, in order.

Uint8Array

void