2.2.6 • Published 3 months ago

quickbit-native v2.2.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 months ago

quickbit-native

https://github.com/holepunchto/libquickbit JavaScript bindings for Node.js.

npm install quickbit-native

Usage

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

API

const b = get(field, bit)

Get the given bit, which will either be true (set) or false (unset).

const changed = set(field, bit[, value])

Set the given bit to value, which defaults to true. Returns true if the bit changed, otherwise false.

field = fill(field, value[, start[, end]])

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(field, chunk)

Clear the bits from field that are set in the { field, offset } chunk.

const i = findFirst(field, value[, position])

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.

const i = findLast(field, value[, 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.

Indexing

const index = Index.from(fieldOrChunks)

Construct an index of the bits in a bit field or an array of sparse { field, offset } chunks.

const changed = index.update(bit)

Update the given bit in the index.

const position = index.skipFirst(value[, position])

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.

const position = index.skipLast(value[, position])

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.

License

Apache-2.0

2.2.6

3 months ago

2.2.5

3 months ago

2.2.3

3 months ago

2.2.4

3 months ago

2.2.2

3 months ago

2.2.1

4 months ago

2.2.0

10 months ago

2.1.4

11 months ago

2.1.3

11 months ago

2.1.5

11 months ago

2.1.2

1 year ago

2.1.1

1 year ago

2.1.0

1 year ago

2.0.3

1 year ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago