UNPKG

multiformats

Version:

Interface for multihash, multicodec, multibase and CID

25 lines (19 loc) 814 B
/* globals describe, it */ import { assert } from 'aegir/chai' import { varint } from '../src/index.js' const UTF8 = new TextEncoder() describe('varint', () => { it('can decode with offset', () => { const message = UTF8.encode('hello-world') const outerTag = 0x55 const innerTag = 0xe3 const outerTagSize = varint.encodingLength(outerTag) const innerTagSize = varint.encodingLength(innerTag) const bytes = new Uint8Array(message.byteLength + outerTagSize + innerTagSize) varint.encodeTo(outerTag, bytes) varint.encodeTo(innerTag, bytes, outerTagSize) bytes.set(message, outerTagSize + innerTagSize) assert.deepStrictEqual(varint.decode(bytes), [outerTag, outerTagSize]) assert.deepStrictEqual(varint.decode(bytes, outerTagSize), [innerTag, innerTagSize]) }) })