UNPKG

761 BJavaScriptView Raw
1'use strict'
2
3const varint = require('varint')
4const uint8ArrayToString = require('uint8arrays/to-string')
5const uint8ArrayFromString = require('uint8arrays/from-string')
6
7module.exports = {
8 numberToUint8Array,
9 uint8ArrayToNumber,
10 varintUint8ArrayEncode,
11 varintEncode
12}
13
14function uint8ArrayToNumber (buf) {
15 return parseInt(uint8ArrayToString(buf, 'base16'), 16)
16}
17
18function numberToUint8Array (num) {
19 let hexString = num.toString(16)
20 if (hexString.length % 2 === 1) {
21 hexString = '0' + hexString
22 }
23 return uint8ArrayFromString(hexString, 'base16')
24}
25
26function varintUint8ArrayEncode (input) {
27 return Uint8Array.from(varint.encode(uint8ArrayToNumber(input)))
28}
29
30function varintEncode (num) {
31 return Uint8Array.from(varint.encode(num))
32}