Skip to main content
Module

std/encoding/varint.ts>decode

The Deno Standard Library
Latest
The Standard Library has been moved to JSR. See the blog post for details.
function decode
Deprecated
Deprecated

This will be removed in 1.0.0. Use decodeVarint instead.

import { decode } from "https://deno.land/std@0.224.0/encoding/varint.ts";

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.

Examples

Example 1

import { decode } from "https://deno.land/std@0.224.0/encoding/varint.ts";

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

Parameters

buf: Uint8Array

The buffer to decode from.

optional
offset = [UNSUPPORTED]

The offset to start decoding from.

Returns

[bigint, number]

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