Package Exports
- @chainsafe/bit-utils
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@chainsafe/bit-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
bit-utils
Bitlist/Bitvector Utilities
Install
npm install @chainsafe/bit-utils
Examples
BitList
import {BitList} from "@chainsafe/bit-utils";
// A BitList is created from a Uint8Array bitfield and a length of bits
const list: BitList = BitList.fromBitfield(Buffer.from([3]), 3);
// Or a BitList can be deserialized from a Uint8Array bitfield with a padding bit marking the length
const list2: BitList = BitList.deserialize(Buffer.from([11]));
// get length of bits
const _bitLength = list.bitLength;
// set bit
list.setBit(0, true);
// get bit
list.getBit(0) === true;
// serialize bitlist (without padding bit)
const output: Uint8Array = list.toBitfield();
// serialize bitlist (with padding bit)
const output2: Uint8Array = list.serialize();
BitVector
import {BitVector} from "@chainsafe/bit-utils";
// A BitVector is created from a Uint8Array bitfield and a length of bits
const vector: BitVector = BitVector.fromBitfield(Buffer.from([3]), 3);
// get length of bits
const _bitLength = vector.bitLength;
// set bit
vector.setBit(0, true);
// get bit
vector.getBit(0) === true
// serialize bitvector (loses length information)
const output: Uint8Array = vector.toBitfield();
API
See our autogenerated API docs
License
Apache 2.0