hypercore 10.5.1 → 10.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/core.js +21 -18
  2. package/package.json +1 -1
package/lib/core.js CHANGED
@@ -241,31 +241,34 @@ module.exports = class Core {
241
241
  async clear (start, end) {
242
242
  await this._mutex.lock()
243
243
 
244
- const entry = {
245
- userData: null,
246
- treeNodes: null,
247
- treeUpgrade: null,
248
- bitfield: {
249
- start,
250
- length: end - start,
251
- drop: true
244
+ try {
245
+ const entry = {
246
+ userData: null,
247
+ treeNodes: null,
248
+ treeUpgrade: null,
249
+ bitfield: {
250
+ start,
251
+ length: end - start,
252
+ drop: true
253
+ }
252
254
  }
253
- }
254
255
 
255
- await this.oplog.append([entry], false)
256
+ await this.oplog.append([entry], false)
256
257
 
257
- this.bitfield.setRange(start, end - start, false)
258
+ this.bitfield.setRange(start, end - start, false)
258
259
 
259
- if (start < this.header.contiguousLength) {
260
- this.header.contiguousLength = start
261
- }
260
+ if (start < this.header.contiguousLength) {
261
+ this.header.contiguousLength = start
262
+ }
262
263
 
263
- start = this.bitfield.lastSet(start) + 1
264
- end = this.bitfield.firstSet(end)
264
+ start = this.bitfield.lastSet(start) + 1
265
+ /* TODO: this borks for some reason, so needs a fix.
266
+ end = this.bitfield.firstSet(end)
265
267
 
266
- if (end === -1) end = this.tree.length
268
+ if (end === -1) end = this.tree.length
269
+ */
270
+ while (end < this.tree.length && this.bitfield.get(end) === false) end++
267
271
 
268
- try {
269
272
  const offset = await this.tree.byteOffset(start * 2)
270
273
  const [byteEnd, byteEndLength] = await this.tree.byteRange((end - 1) * 2)
271
274
  const length = (byteEnd + byteEndLength) - offset
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypercore",
3
- "version": "10.5.1",
3
+ "version": "10.5.2",
4
4
  "description": "Hypercore is a secure, distributed append-only log",
5
5
  "main": "index.js",
6
6
  "scripts": {