diff --git a/package.json b/package.json index 7d562b413..049531dec 100644 --- a/package.json +++ b/package.json @@ -42,27 +42,22 @@ }, "dependencies": { "abort-controller": "^3.0.0", - "async-iterator-all": "^1.0.0", - "async-iterator-to-pull-stream": "^1.3.0", "bignumber.js": "^9.0.0", - "bl": "^4.0.0", "bs58": "^4.0.1", "buffer": "^5.4.2", - "callbackify": "^1.1.0", "cids": "~0.7.1", "debug": "^4.1.0", "err-code": "^2.0.0", "explain-error": "^1.0.4", "form-data": "^3.0.0", "ipfs-block": "~0.8.1", - "ipfs-utils": "^0.4.0", + "ipfs-utils": "github:ipfs/js-ipfs-utils#refactor/async-iterators", "ipld-dag-cbor": "~0.15.0", "ipld-dag-pb": "^0.18.1", "ipld-raw": "^4.0.0", "is-ipfs": "~0.6.1", "it-glob": "0.0.7", "it-tar": "^1.1.1", - "it-to-stream": "^0.1.1", "iterable-ndjson": "^1.1.0", "ky": "^0.15.0", "ky-universal": "^0.3.0", @@ -72,10 +67,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "parse-duration": "^0.1.1", - "peer-id": "~0.12.3", - "peer-info": "~0.15.1", - "promise-nodeify": "^3.0.1" + "parse-duration": "^0.1.1" }, "devDependencies": { "aegir": "^20.4.1", diff --git a/src/bitswap/index.js b/src/bitswap/index.js index fb47d4da0..5c8354498 100644 --- a/src/bitswap/index.js +++ b/src/bitswap/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - -module.exports = (config) => ({ - wantlist: callbackify.variadic(require('./wantlist')(config)), - stat: callbackify.variadic(require('./stat')(config)), - unwant: callbackify.variadic(require('./unwant')(config)) +module.exports = config => ({ + wantlist: require('./wantlist')(config), + stat: require('./stat')(config), + unwant: require('./unwant')(config) }) diff --git a/src/block/index.js b/src/block/index.js index 8c683dd83..f25c73366 100644 --- a/src/block/index.js +++ b/src/block/index.js @@ -1,23 +1,8 @@ 'use strict' -const nodeify = require('promise-nodeify') -const callbackify = require('callbackify') -const { collectify } = require('../lib/converters') - -module.exports = config => { - const rm = require('./rm-async-iterator')(config) - - return { - get: callbackify.variadic(require('./get')(config)), - stat: callbackify.variadic(require('./stat')(config)), - put: callbackify.variadic(require('./put')(config)), - rm: (input, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(collectify(rm)(input, options), callback) - }, - _rmAsyncIterator: rm - } -} +module.exports = config => ({ + get: require('./get')(config), + stat: require('./stat')(config), + put: require('./put')(config), + rm: require('./rm')(config) +}) diff --git a/src/block/rm-async-iterator.js b/src/block/rm.js similarity index 100% rename from src/block/rm-async-iterator.js rename to src/block/rm.js diff --git a/src/bootstrap/index.js b/src/bootstrap/index.js index 032265803..519a7161e 100644 --- a/src/bootstrap/index.js +++ b/src/bootstrap/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - add: callbackify.variadic(require('./add')(config)), - rm: callbackify.variadic(require('./rm')(config)), - list: callbackify.variadic(require('./list')(config)) + add: require('./add')(config), + rm: require('./rm')(config), + list: require('./list')(config) }) diff --git a/src/config/index.js b/src/config/index.js index 36621fd39..cb56190a2 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -1,10 +1,8 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - get: callbackify.variadic(require('./get')(config)), - set: callbackify.variadic(require('./set')(config)), - replace: callbackify.variadic(require('./replace')(config)), + get: require('./get')(config), + set: require('./set')(config), + replace: require('./replace')(config), profiles: require('./profiles')(config) }) diff --git a/src/config/profiles/index.js b/src/config/profiles/index.js index 57cd1ad7f..77b68de41 100644 --- a/src/config/profiles/index.js +++ b/src/config/profiles/index.js @@ -1,8 +1,6 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - apply: callbackify.variadic(require('./apply')(config)), - list: callbackify.variadic(require('./list')(config)) + apply: require('./apply')(config), + list: require('./list')(config) }) diff --git a/src/dag/index.js b/src/dag/index.js index 06194e4a8..3cc4d410e 100644 --- a/src/dag/index.js +++ b/src/dag/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - get: callbackify.variadic(require('./get')(config)), - put: callbackify.variadic(require('./put')(config)), - resolve: callbackify.variadic(require('./resolve')(config)) + get: require('./get')(config), + put: require('./put')(config), + resolve: require('./resolve')(config) }) diff --git a/src/dht/find-peer.js b/src/dht/find-peer.js index 71779952c..4d5b7665d 100644 --- a/src/dht/find-peer.js +++ b/src/dht/find-peer.js @@ -1,7 +1,6 @@ 'use strict' -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') +const CID = require('cids') const multiaddr = require('multiaddr') const ndjson = require('iterable-ndjson') const configure = require('../lib/configure') @@ -27,9 +26,10 @@ module.exports = configure(({ ky }) => { // https://github.com/libp2p/go-libp2p-core/blob/6e566d10f4a5447317a66d64c7459954b969bdab/routing/query.go#L18 if (message.Type === 2 && message.Responses) { for (const { ID, Addrs } of message.Responses) { - const peerInfo = new PeerInfo(PeerId.createFromB58String(ID)) - if (Addrs) Addrs.forEach(a => peerInfo.multiaddrs.add(multiaddr(a))) - yield peerInfo + yield { + id: new CID(ID), + addrs: (Addrs || []).map(a => multiaddr(a)) + } } } } diff --git a/src/dht/find-provs.js b/src/dht/find-provs.js index a0fc35722..2a7203e0b 100644 --- a/src/dht/find-provs.js +++ b/src/dht/find-provs.js @@ -1,7 +1,6 @@ 'use strict' -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') +const CID = require('cids') const multiaddr = require('multiaddr') const ndjson = require('iterable-ndjson') const configure = require('../lib/configure') @@ -28,9 +27,10 @@ module.exports = configure(({ ky }) => { // https://github.com/libp2p/go-libp2p-core/blob/6e566d10f4a5447317a66d64c7459954b969bdab/routing/query.go#L20 if (message.Type === 4 && message.Responses) { for (const { ID, Addrs } of message.Responses) { - const peerInfo = new PeerInfo(PeerId.createFromB58String(ID)) - if (Addrs) Addrs.forEach(a => peerInfo.multiaddrs.add(multiaddr(a))) - yield peerInfo + yield { + id: new CID(ID), + addrs: (Addrs || []).map(a => multiaddr(a)) + } } } } diff --git a/src/dht/index.js b/src/dht/index.js index 5478876ff..754e57b83 100644 --- a/src/dht/index.js +++ b/src/dht/index.js @@ -1,30 +1,11 @@ 'use strict' -const callbackify = require('callbackify') -const errCode = require('err-code') -const { collectify } = require('../lib/converters') - -module.exports = config => { - const get = require('./get')(config) - const findPeer = require('./find-peer')(config) - - return { - get: callbackify.variadic(async (key, options) => { - for await (const value of get(key, options)) { - return value - } - throw errCode(new Error('value not found'), 'ERR_TYPE_5_NOT_FOUND') - }), - put: callbackify.variadic(collectify(require('./put')(config))), - findProvs: callbackify.variadic(collectify(require('./find-provs')(config))), - findPeer: callbackify.variadic(async (peerId, options) => { - for await (const peerInfo of findPeer(peerId, options)) { - return peerInfo - } - throw errCode(new Error('final peer not found'), 'ERR_TYPE_2_NOT_FOUND') - }), - provide: callbackify.variadic(collectify(require('./provide')(config))), - // find closest peerId to given peerId - query: callbackify.variadic(collectify(require('./query')(config))) - } -} +module.exports = config => ({ + get: require('./get')(config), + put: require('./put')(config), + findProvs: require('./find-provs')(config), + findPeer: require('./find-peer')(config), + provide: require('./provide')(config), + // find closest peerId to given peerId + query: require('./query')(config) +}) diff --git a/src/dht/provide.js b/src/dht/provide.js index cb72f9c6d..33f27ae53 100644 --- a/src/dht/provide.js +++ b/src/dht/provide.js @@ -1,7 +1,6 @@ 'use strict' -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') +const CID = require('cids') const multiaddr = require('multiaddr') const ndjson = require('iterable-ndjson') const configure = require('../lib/configure') @@ -28,11 +27,10 @@ module.exports = configure(({ ky }) => { for await (let message of ndjson(toIterable(res.body))) { message = toCamel(message) if (message.responses) { - message.responses = message.responses.map(({ ID, Addrs }) => { - const peerInfo = new PeerInfo(PeerId.createFromB58String(ID)) - if (Addrs) Addrs.forEach(a => peerInfo.multiaddrs.add(multiaddr(a))) - return peerInfo - }) + message.responses = message.responses.map(({ ID, Addrs }) => ({ + id: new CID(ID), + addrs: (Addrs || []).map(a => multiaddr(a)) + })) } yield message } diff --git a/src/dht/put.js b/src/dht/put.js index 49a6947aa..61c91168b 100644 --- a/src/dht/put.js +++ b/src/dht/put.js @@ -1,7 +1,6 @@ 'use strict' -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') +const CID = require('cids') const multiaddr = require('multiaddr') const ndjson = require('iterable-ndjson') const configure = require('../lib/configure') @@ -29,11 +28,10 @@ module.exports = configure(({ ky }) => { for await (let message of ndjson(toIterable(res.body))) { message = toCamel(message) if (message.responses) { - message.responses = message.responses.map(({ ID, Addrs }) => { - const peerInfo = new PeerInfo(PeerId.createFromB58String(ID)) - if (Addrs) Addrs.forEach(a => peerInfo.multiaddrs.add(multiaddr(a))) - return peerInfo - }) + message.responses = message.responses.map(({ ID, Addrs }) => ({ + id: new CID(ID), + addrs: (Addrs || []).map(a => multiaddr(a)) + })) } yield message } diff --git a/src/dht/query.js b/src/dht/query.js index 5aefaf90d..3303382a7 100644 --- a/src/dht/query.js +++ b/src/dht/query.js @@ -1,7 +1,6 @@ 'use strict' -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') +const CID = require('cids') const ndjson = require('iterable-ndjson') const configure = require('../lib/configure') const toIterable = require('../lib/stream-to-iterable') @@ -22,7 +21,10 @@ module.exports = configure(({ ky }) => { }) for await (const message of ndjson(toIterable(res.body))) { - yield new PeerInfo(PeerId.createFromB58String(message.ID)) + yield { + id: new CID(message.ID), + addrs: [] + } } } }) diff --git a/src/diag/index.js b/src/diag/index.js index 7e48d576d..d3ac85d55 100644 --- a/src/diag/index.js +++ b/src/diag/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - net: callbackify.variadic(require('./net')(config)), - sys: callbackify.variadic(require('./sys')(config)), - cmds: callbackify.variadic(require('./cmds')(config)) + net: require('./net')(config), + sys: require('./sys')(config), + cmds: require('./cmds')(config) }) diff --git a/src/files/index.js b/src/files/index.js index 25e79fcab..1bf3b06a8 100644 --- a/src/files/index.js +++ b/src/files/index.js @@ -1,25 +1,13 @@ 'use strict' -const callbackify = require('callbackify') -const { collectify, streamify, pullify, concatify } = require('../lib/converters') - -module.exports = config => { - const ls = require('./ls')(config) - const read = require('./read')(config) - - return { - cp: callbackify.variadic(require('./cp')(config)), - mkdir: callbackify.variadic(require('./mkdir')(config)), - flush: callbackify.variadic(require('./flush')(config)), - stat: callbackify.variadic(require('./stat')(config)), - rm: callbackify.variadic(require('./rm')(config)), - ls: callbackify.variadic(collectify(ls)), - lsReadableStream: streamify.readable(ls), - lsPullStream: pullify.source(ls), - read: callbackify.variadic(concatify(read)), - readReadableStream: streamify.readable(read), - readPullStream: pullify.source(read), - write: callbackify.variadic(require('./write')(config)), - mv: callbackify.variadic(require('./mv')(config)) - } -} +module.exports = config => ({ + cp: require('./cp')(config), + mkdir: require('./mkdir')(config), + flush: require('./flush')(config), + stat: require('./stat')(config), + rm: require('./rm')(config), + ls: require('./ls')(config), + read: require('./read')(config), + write: require('./write')(config), + mv: require('./mv')(config) +}) diff --git a/src/index.js b/src/index.js index d9dc89630..19ae4f7ee 100644 --- a/src/index.js +++ b/src/index.js @@ -7,153 +7,46 @@ const multiaddr = require('multiaddr') const multibase = require('multibase') const multicodec = require('multicodec') const multihash = require('multihashes') -const PeerId = require('peer-id') -const PeerInfo = require('peer-info') -const nodeify = require('promise-nodeify') -const callbackify = require('callbackify') -const all = require('async-iterator-all') -const toPullStream = require('async-iterator-to-pull-stream') -const toStream = require('it-to-stream') -const BufferList = require('bl/BufferList') -const { concatify, collectify, pullify, streamify } = require('./lib/converters') function ipfsClient (config) { - const add = require('./add')(config) - const addFromFs = require('./add-from-fs')(config) - const addFromURL = require('./add-from-url')(config) - const cat = require('./cat')(config) - const get = require('./get')(config) - const ls = require('./ls')(config) - const ping = require('./ping')(config) - const refs = require('./refs')(config) - - const api = { - add: (input, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(collectify(add)(input, options), callback) - }, - addReadableStream: streamify.transform(add), - addPullStream: pullify.transform(add), - addFromFs: (path, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(collectify(addFromFs)(path, options), callback) - }, - addFromURL: (url, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(collectify(addFromURL)(url, options), callback) - }, - addFromStream: (input, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(collectify(add)(input, options), callback) - }, - _addAsyncIterator: add, + return { + add: require('./add')(config), + addFromFs: require('./add-from-fs')(config), + addFromURL: require('./add-from-url')(config), bitswap: require('./bitswap')(config), block: require('./block')(config), bootstrap: require('./bootstrap')(config), - cat: callbackify.variadic((path, options) => concatify(cat)(path, options)), - catReadableStream: streamify.readable(cat), - catPullStream: pullify.source(cat), - _catAsyncIterator: cat, - commands: callbackify.variadic(require('./commands')(config)), + cat: require('./cat')(config), + commands: require('./commands')(config), config: require('./config')(config), dag: require('./dag')(config), dht: require('./dht')(config), diag: require('./diag')(config), - dns: callbackify.variadic(require('./dns')(config)), + dns: require('./dns')(config), files: require('./files')(config), - get: callbackify.variadic(async (path, options) => { - const output = [] - - for await (const entry of get(path, options)) { - if (entry.content) { - entry.content = new BufferList(await all(entry.content)).slice() - } - - output.push(entry) - } - - return output - }), + get: require('./get')(config), getEndpointConfig: require('./get-endpoint-config')(config), - getReadableStream: streamify.readable(async function * (path, options) { - for await (const file of get(path, options)) { - if (file.content) { - const { content } = file - file.content = toStream((async function * () { - for await (const chunk of content) { - yield chunk.slice() // Convert bl to Buffer - } - })()) - } - - yield file - } - }), - getPullStream: pullify.source(async function * (path, options) { - for await (const file of get(path, options)) { - if (file.content) { - const { content } = file - file.content = toPullStream((async function * () { - for await (const chunk of content) { - yield chunk.slice() // Convert bl to Buffer - } - })()) - } - - yield file - } - }), - _getAsyncIterator: get, - id: callbackify.variadic(require('./id')(config)), + id: require('./id')(config), key: require('./key')(config), log: require('./log')(config), - ls: callbackify.variadic((path, options) => collectify(ls)(path, options)), - lsReadableStream: streamify.readable(ls), - lsPullStream: pullify.source(ls), - _lsAsyncIterator: ls, - mount: callbackify.variadic(require('./mount')(config)), + ls: require('./ls')(config), + mount: require('./mount')(config), name: require('./name')(config), object: require('./object')(config), pin: require('./pin')(config), - ping: callbackify.variadic(collectify(ping)), - pingReadableStream: streamify.readable(ping), - pingPullStream: pullify.source(ping), + ping: require('./ping')(config), pubsub: require('./pubsub')(config), - refs: callbackify.variadic((path, options) => collectify(refs)(path, options)), - refsReadableStream: streamify.readable(refs), - refsPullStream: pullify.source(refs), - _refsAsyncIterator: refs, + refs: require('./refs')(config), repo: require('./repo')(config), - resolve: callbackify.variadic(require('./resolve')(config)), + resolve: require('./resolve')(config), stats: require('./stats')(config), - stop: callbackify.variadic(require('./stop')(config)), - shutdown: callbackify.variadic(require('./stop')(config)), + stop: require('./stop')(config), + shutdown: require('./stop')(config), swarm: require('./swarm')(config), - version: callbackify.variadic(require('./version')(config)) + version: require('./version')(config) } - - Object.assign(api.refs, { - local: callbackify.variadic(options => collectify(refs.local)(options)), - localReadableStream: streamify.readable(refs.local), - localPullStream: pullify.source(refs.local), - _localAsyncIterator: refs.local - }) - - return api } -Object.assign(ipfsClient, { isIPFS, Buffer, CID, multiaddr, multibase, multicodec, multihash, PeerId, PeerInfo }) +Object.assign(ipfsClient, { isIPFS, Buffer, CID, multiaddr, multibase, multicodec, multihash }) module.exports = ipfsClient diff --git a/src/key/index.js b/src/key/index.js index 7293236f1..de12c732c 100644 --- a/src/key/index.js +++ b/src/key/index.js @@ -1,12 +1,10 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - gen: callbackify.variadic(require('./gen')(config)), - list: callbackify.variadic(require('./list')(config)), - rename: callbackify.variadic(require('./rename')(config)), - rm: callbackify.variadic(require('./rm')(config)), - export: callbackify.variadic(require('./export')(config)), - import: callbackify.variadic(require('./import')(config)) + gen: require('./gen')(config), + list: require('./list')(config), + rename: require('./rename')(config), + rm: require('./rm')(config), + export: require('./export')(config), + import: require('./import')(config) }) diff --git a/src/lib/converters.js b/src/lib/converters.js deleted file mode 100644 index a1ed8a010..000000000 --- a/src/lib/converters.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict' - -const toPull = require('async-iterator-to-pull-stream') -const all = require('async-iterator-all') -const toStream = require('it-to-stream') -const { Buffer } = require('buffer') - -exports.collectify = fn => (...args) => all(fn(...args)) - -exports.concatify = fn => async (...args) => Buffer.concat(await all(fn(...args))) - -exports.pullify = { - source: fn => (...args) => toPull(fn(...args)), - transform: fn => (...args) => toPull.transform(source => fn(source, ...args)) -} - -exports.streamify = { - readable: fn => (...args) => toStream(fn(...args), { objectMode: true }), - transform: fn => (...args) => toStream.transform(source => fn(source, ...args), { objectMode: true }) -} diff --git a/src/log/index.js b/src/log/index.js index f7d94f910..3eea39fd5 100644 --- a/src/log/index.js +++ b/src/log/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ tail: require('./tail')(config), - ls: callbackify.variadic(require('./ls')(config)), - level: callbackify.variadic(require('./level')(config)) + ls: require('./ls')(config), + level: require('./level')(config) }) diff --git a/src/name/index.js b/src/name/index.js index 7a6837b82..65d1acca2 100644 --- a/src/name/index.js +++ b/src/name/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - publish: callbackify.variadic(require('./publish')(config)), - resolve: callbackify.variadic(require('./resolve')(config)), + publish: require('./publish')(config), + resolve: require('./resolve')(config), pubsub: require('./pubsub')(config) }) diff --git a/src/name/pubsub/index.js b/src/name/pubsub/index.js index 70db19874..14ffd8852 100644 --- a/src/name/pubsub/index.js +++ b/src/name/pubsub/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - cancel: callbackify.variadic(require('./cancel')(config)), - state: callbackify.variadic(require('./state')(config)), - subs: callbackify.variadic(require('./subs')(config)) + cancel: require('./cancel')(config), + state: require('./state')(config), + subs: require('./subs')(config) }) diff --git a/src/object/index.js b/src/object/index.js index dac85598c..ee7c85dd6 100644 --- a/src/object/index.js +++ b/src/object/index.js @@ -1,14 +1,11 @@ 'use strict' -const callbackify = require('callbackify') -const { concatify } = require('../lib/converters') - module.exports = config => ({ - data: callbackify.variadic(concatify(require('./data')(config))), - get: callbackify.variadic(require('./get')(config)), - links: callbackify.variadic(require('./links')(config)), - new: callbackify.variadic(require('./new')(config)), + data: require('./data')(config), + get: require('./get')(config), + links: require('./links')(config), + new: require('./new')(config), patch: require('./patch')(config), - put: callbackify.variadic(require('./put')(config)), - stat: callbackify.variadic(require('./stat')(config)) + put: require('./put')(config), + stat: require('./stat')(config) }) diff --git a/src/object/patch/index.js b/src/object/patch/index.js index 5711200ec..f886e288f 100644 --- a/src/object/patch/index.js +++ b/src/object/patch/index.js @@ -1,10 +1,8 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - addLink: callbackify.variadic(require('./add-link')(config)), - appendData: callbackify.variadic(require('./append-data')(config)), - rmLink: callbackify.variadic(require('./rm-link')(config)), - setData: callbackify.variadic(require('./set-data')(config)) + addLink: require('./add-link')(config), + appendData: require('./append-data')(config), + rmLink: require('./rm-link')(config), + setData: require('./set-data')(config) }) diff --git a/src/pin/index.js b/src/pin/index.js index c62d3a46a..ad43057ec 100644 --- a/src/pin/index.js +++ b/src/pin/index.js @@ -1,9 +1,7 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - add: callbackify.variadic(require('./add')(config)), - rm: callbackify.variadic(require('./rm')(config)), - ls: callbackify.variadic(require('./ls')(config)) + add: require('./add')(config), + rm: require('./rm')(config), + ls: require('./ls')(config) }) diff --git a/src/pubsub/index.js b/src/pubsub/index.js index 2738bd5ac..e369bb6f3 100644 --- a/src/pubsub/index.js +++ b/src/pubsub/index.js @@ -1,50 +1,9 @@ 'use strict' -const nodeify = require('promise-nodeify') - -// This file is temporary and for compatibility with legacy usage -module.exports = (send, options) => { - if (typeof send !== 'function') { - options = send - } - - const ls = require('./ls')(options) - const peers = require('./peers')(options) - const publish = require('./publish')(options) - const subscribe = require('./subscribe')(options) - const unsubscribe = require('./unsubscribe')(options) - - return { - ls: (options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(ls(options), callback) - }, - peers: (topic, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(peers(topic, options), callback) - }, - publish: (topic, data, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(publish(topic, data, options), callback) - }, - subscribe: (topic, handler, options, callback) => { - if (typeof options === 'function') { - callback = options - options = {} - } - return nodeify(subscribe(topic, handler, options), callback) - }, - unsubscribe: (topic, handler, callback) => { - return nodeify(unsubscribe(topic, handler), callback) - } - } -} +module.exports = config => ({ + ls: require('./ls')(config), + peers: require('./peers')(config), + publish: require('./publish')(config), + subscribe: require('./subscribe')(config), + unsubscribe: require('./unsubscribe')(config) +}) diff --git a/src/repo/index.js b/src/repo/index.js index fe58504ad..4785f55db 100644 --- a/src/repo/index.js +++ b/src/repo/index.js @@ -1,10 +1,7 @@ 'use strict' -const callbackify = require('callbackify') -const { collectify } = require('../lib/converters') - module.exports = config => ({ - gc: callbackify.variadic(collectify(require('./gc')(config))), - stat: callbackify.variadic(require('./stat')(config)), - version: callbackify.variadic(require('./version')(config)) + gc: require('./gc')(config), + stat: require('./stat')(config), + version: require('./version')(config) }) diff --git a/src/stats/index.js b/src/stats/index.js index 4351d79e2..d13a534a7 100644 --- a/src/stats/index.js +++ b/src/stats/index.js @@ -1,19 +1,7 @@ 'use strict' -const callbackify = require('callbackify') -const { streamify, pullify } = require('../lib/converters') - -module.exports = config => { - const bw = require('./bw')(config) - return { - bitswap: callbackify.variadic(require('../bitswap/stat')(config)), - bw: callbackify.variadic(async options => { - for await (const stats of bw(options)) { - return stats - } - }), - bwReadableStream: streamify.readable(bw), - bwPullStream: pullify.source(bw), - repo: callbackify.variadic(require('../repo/stat')(config)) - } -} +module.exports = config => ({ + bitswap: require('../bitswap/stat')(config), + bw: require('./bw')(config), + repo: require('../repo/stat')(config) +}) diff --git a/src/swarm/addrs.js b/src/swarm/addrs.js index a786d32cb..25bd98d02 100644 --- a/src/swarm/addrs.js +++ b/src/swarm/addrs.js @@ -1,7 +1,6 @@ 'use strict' -const PeerInfo = require('peer-info') -const PeerId = require('peer-id') +const CID = require('cids') const multiaddr = require('multiaddr') const configure = require('../lib/configure') @@ -16,10 +15,9 @@ module.exports = configure(({ ky }) => { searchParams: options.searchParams }).json() - return Object.keys(res.Addrs).map(id => { - const peerInfo = new PeerInfo(PeerId.createFromB58String(id)) - res.Addrs[id].forEach(addr => peerInfo.multiaddrs.add(multiaddr(addr))) - return peerInfo - }) + return Object.keys(res.Addrs).map(id => ({ + id: new CID(id), + addrs: (res.Addrs[id] || []).map(a => multiaddr(a)) + })) } }) diff --git a/src/swarm/index.js b/src/swarm/index.js index e86a7c22c..84648439d 100644 --- a/src/swarm/index.js +++ b/src/swarm/index.js @@ -1,11 +1,9 @@ 'use strict' -const callbackify = require('callbackify') - module.exports = config => ({ - addrs: callbackify.variadic(require('./addrs')(config)), - connect: callbackify.variadic(require('./connect')(config)), - disconnect: callbackify.variadic(require('./disconnect')(config)), - localAddrs: callbackify.variadic(require('./localAddrs')(config)), - peers: callbackify.variadic(require('./peers')(config)) + addrs: require('./addrs')(config), + connect: require('./connect')(config), + disconnect: require('./disconnect')(config), + localAddrs: require('./localAddrs')(config), + peers: require('./peers')(config) }) diff --git a/src/swarm/peers.js b/src/swarm/peers.js index 3b897348c..f10035e06 100644 --- a/src/swarm/peers.js +++ b/src/swarm/peers.js @@ -1,7 +1,7 @@ 'use strict' const multiaddr = require('multiaddr') -const PeerId = require('peer-id') +const CID = require('cids') const configure = require('../lib/configure') module.exports = configure(({ ky }) => { @@ -25,7 +25,7 @@ module.exports = configure(({ ky }) => { const info = {} try { info.addr = multiaddr(peer.Addr) - info.peer = PeerId.createFromB58String(peer.Peer) + info.peer = new CID(peer.Peer) } catch (error) { info.error = error info.rawPeerInfo = peer