Skip to content

Encode / decode unsigned BigInt as little endian

License

Notifications You must be signed in to change notification settings

emilbayes/biguintle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

biguintle

Build Status abstract-encoding

Encode / decode unsigned BigInt as little endian

Usage

var bigUintLE = require('biguintle')

var bigUint = 2n ** 64n - 1n // UINT64_MAX

assert(bigUintLE.encodingLength(bigUint) === 8)
var buf = bigUintLE.encode(bigUint)
assert(bigUintLE.encode.bytes === 8 && buf.byteLength === 8)

var num = bigUintLE.decode()

API

var buf = bigUintLE.encode(bu, [buf, [byteOffset]])

Write BigInt bu to optional Buffer or TypedArray buf at optional Number byteOffset. If buf is not set a new Buffer is allocated the size of the byte width of bu. byteOffset defaults to 0.

var bytes = bigUintLE.encode.bytes

Number of bytes last encoded

var bigUint = bigUintLE.decode(buf, [byteOffset], [byteLength])

Read BigInt from Buffer or TypedArray buf at optional Number byteOffset for optional Number byteLength bytes. Note that if you do not give a byteLength all of buf will be decoded, since BigInts do not have a natural width.

var bytes = bigUintLE.decode.bytes

Number of bytes last decoded

var bytes = bigUintLE.encodingLength(bu)

Number of bytes required to encode BigInt bu

Install

npm install biguintle

License

ISC

About

Encode / decode unsigned BigInt as little endian

Resources

License

Stars

Watchers

Forks

Packages

No packages published