Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback


The Deno Standard Library
function decode

This will be removed in 1.0.0. Use decodeVarint instead.

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.


Example 1

import { decode } from "";

const buf = new Uint8Array([0x8E, 0x02]);
decode(buf); // [ 300n, 2 ];


buf: Uint8Array

The buffer to decode from.

offset = [UNSUPPORTED]

The offset to start decoding from.


[bigint, number]

A tuple of the decoded varint 64-bit number, and the new offset.