Comparing version 1.1.2 to 1.2.0
64
index.js
const codecs = require('codecs') | ||
const { Readable } = require('streamx') | ||
const mutexify = require('mutexify/promise') | ||
const { toPromises } = require('hypercore-promisifier') | ||
const RangeIterator = require('./iterators/range') | ||
@@ -7,3 +10,2 @@ const HistoryIterator = require('./iterators/history') | ||
const Extension = require('./lib/extension') | ||
const mutexify = require('mutexify/promise') | ||
const { YoloIndex, Node, Header } = require('./lib/messages') | ||
@@ -270,3 +272,3 @@ | ||
constructor (feed, opts = {}) { | ||
this.feed = feed | ||
this.feed = toPromises(feed) | ||
@@ -291,16 +293,9 @@ this.keyEncoding = opts.keyEncoding ? codecs(opts.keyEncoding) : null | ||
_open () { | ||
return new Promise((resolve, reject) => { | ||
this.feed.ready(err => { | ||
if (err) return reject(err) | ||
if (this.feed.length > 0 || !this.feed.writable) return resolve() | ||
this.feed.append(Header.encode({ | ||
protocol: 'hyperbee', | ||
metadata: this.metadata | ||
}), (err) => { | ||
if (err) return reject(err) | ||
resolve() | ||
}) | ||
}) | ||
}) | ||
async _open () { | ||
await this.feed.ready() | ||
if (this.feed.length > 0 || !this.feed.writable) return | ||
return this.feed.append(Header.encode({ | ||
protocol: 'hyperbee', | ||
metadata: this.metadata | ||
})) | ||
} | ||
@@ -313,5 +308,3 @@ | ||
update () { | ||
return new Promise((resolve) => { | ||
this.feed.update({ ifAvailable: true, hash: false }, (err) => resolve(!err)) | ||
}) | ||
return this.feed.update({ ifAvailable: true, hash: false }).then(() => true, () => false) | ||
} | ||
@@ -332,12 +325,11 @@ | ||
async getBlock (seq, opts, batch = this) { | ||
return new Promise((resolve, reject) => { | ||
const active = opts.active | ||
const cancel = this.feed.get(seq, { ...opts, valueEncoding: Node }, (err, entry) => { | ||
if (active) active.remove(cancel) | ||
if (err) return reject(err) | ||
resolve(new BlockEntry(seq, batch, entry)) | ||
}) | ||
if (active) active.add(cancel) | ||
}) | ||
const active = opts.active | ||
const request = this.feed.get(seq, { ...opts, valueEncoding: Node }) | ||
if (active) active.add(request) | ||
try { | ||
const entry = await request | ||
return new BlockEntry(seq, batch, entry) | ||
} finally { | ||
if (active) active.remove(request) | ||
} | ||
} | ||
@@ -730,10 +722,8 @@ | ||
_appendBatch (raw) { | ||
return new Promise((resolve, reject) => { | ||
this.tree.feed.append(raw, err => { | ||
if (err) reject(err) | ||
else resolve() | ||
this._unlock() | ||
}) | ||
}) | ||
async _appendBatch (raw) { | ||
try { | ||
await this.tree.feed.append(raw) | ||
} finally { | ||
this._unlock() | ||
} | ||
} | ||
@@ -740,0 +730,0 @@ } |
{ | ||
"name": "hyperbee", | ||
"version": "1.1.2", | ||
"version": "1.2.0", | ||
"description": "An append-only Btree running on a Hypercore.", | ||
@@ -8,2 +8,3 @@ "main": "index.js", | ||
"codecs": "^2.1.0", | ||
"hypercore-promisifier": "^1.0.1", | ||
"mutexify": "^1.3.1", | ||
@@ -10,0 +11,0 @@ "protocol-buffers-encodings": "^1.1.0", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
93036
5
2760
+ Addedhypercore-promisifier@^1.0.1
+ Addedcall-me-maybe@1.0.2(transitive)
+ Addedhypercore-promisifier@1.1.0(transitive)
+ Addedinspect-custom-symbol@1.1.1(transitive)