thrifty/varint
Values
pub fn decode_varint(
data: BitArray,
byte_position: Int,
) -> Result(#(Int, Int), types.DecodeError)
Convert a list of byte integers to a BitArray by serial concatenation.
Inputs
bytes: list of integers each 0..255.
Outputs
BitArrayconcatenating the provided bytes. Decode a varint from a BitArray starting at a given byte position. Returns Ok(#(value, next_byte_position)) on success, or Error on failure.
Max length: 10 bytes for i64, 5 bytes for i32. Reads bytes LSB first, accumulating 7-bit groups.
pub fn encode_varint(n: Int) -> BitArray
Encode an unsigned integer as a varint BitArray. Returns a BitArray of 1-10 bytes (for i64).
Varint encoding: 7 bits per byte, MSB as continuation bit. Bytes are emitted LSB first.