https://github.com/holepunchto/libquickbit JavaScript bindings for Node.js.
npm install quickbit-native
const { get, set, findFirst } = require('quickbit-native')
const field = Buffer.alloc(256) // 2048 bits
const changed = set(field, 1000)
// true
get(field, 1000)
// true
findFirst(field, true)
// 1000
Get the given bit, which will either be true
(set) or false
(unset).
Set the given bit to value
, which defaults to true
. Returns true
if the bit changed, otherwise false
.
Fill the given bit range with value
. start
defaults to 0
and end
defaults to the bit length of the field. Returns the modified field.
Clear the bits from field
that are set in the { field, offset }
chunk.
Return the index of the first occurrence of value
, or -1
if not found. If position
is given, return the first index that is greater than or equal to position
.
Return the index of the last occurrence of value
, or -1
if not found. If position
is given, return the last index that is less than or equal to position
.
Construct an index of the bits in a bit field or an array of sparse { field, offset }
chunks.
Update the given bit in the index.
Skip the first parts of the index that contain nothing but value
. If the index contains only value
, the last index of the field is returned.
Skip the last parts of the index that contain nothing but value
. If the index contains only value
, the first index of the field is returned.
Apache-2.0