Skip to main content


Deno standard library
Go to Latest
function decode
import { decode } from "";

Given a non empty buf, starting at offset (default: 0), begin decoding bytes as VarInt encoded bytes, for a maximum of 10 bytes (offset + 10). The returned tuple is of the decoded varint 32-bit number, and the new offset with which to continue decoding other data.

If a bigint in return is undesired, the decode32 function will return a number, but this should only be used in cases where the varint is assured to be 32-bits. If in doubt, use decode().

To know how many bytes the VarInt took to encode, simply negate offset from the returned new offset.


buf: Uint8Array
offset = [UNSUPPORTED]


[bigint, number]