|
@@ -1,7 +1,7 @@
|
1
|
1
|
const Base = require('cobox-group-base')
|
2
|
2
|
const swarm = require('cobox-swarm')
|
3
|
|
-const maybe = require('call-me-maybe')
|
4
|
3
|
const assert = require('assert')
|
|
4
|
+const thunky = require('thunky')
|
5
|
5
|
|
6
|
6
|
module.exports = (storage, address, opts = {}) => (
|
7
|
7
|
new BlindReplicator(storage, address, opts)
|
|
@@ -11,23 +11,11 @@ class BlindReplicator extends Base {
|
11
|
11
|
constructor (storage, address, opts = {}) {
|
12
|
12
|
super(storage, address, opts)
|
13
|
13
|
this._initFeeds(opts)
|
14
|
|
- this._readyCallback = this.multifeed.ready.bind(this.multifeed)
|
|
14
|
+ this._readyCallback = thunky(this._ready.bind(this))
|
15
|
15
|
this._connection = null
|
16
|
16
|
this._isSwarming = true
|
17
|
17
|
}
|
18
|
18
|
|
19
|
|
- ready (callback) {
|
20
|
|
- var self = this
|
21
|
|
- return maybe(callback, new Promise((resolve, reject) => {
|
22
|
|
- self._readyCallback((err) => {
|
23
|
|
- if (err) return reject(err)
|
24
|
|
- self.discoveryKey = self.multifeed._root.discoveryKey
|
25
|
|
- self._isReady = true
|
26
|
|
- return resolve()
|
27
|
|
- })
|
28
|
|
- }))
|
29
|
|
- }
|
30
|
|
-
|
31
|
19
|
swarm (opts = {}) {
|
32
|
20
|
this._connection = swarm(this, Object.assign(opts, {
|
33
|
21
|
logger: this.config.logger
|
|
@@ -52,5 +40,13 @@ class BlindReplicator extends Base {
|
52
|
40
|
})
|
53
|
41
|
return this.config.save()
|
54
|
42
|
}
|
|
43
|
+
|
|
44
|
+ _ready (callback) {
|
|
45
|
+ var self = this
|
|
46
|
+ self.multifeed.ready((err) => {
|
|
47
|
+ self.discoveryKey = self.multifeed._root.discoveryKey
|
|
48
|
+ callback()
|
|
49
|
+ })
|
|
50
|
+ }
|
55
|
51
|
}
|
56
|
52
|
|