Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit b081e35

Browse files
authored
feat: merge of get and resolve (#761)
* feat: merge of get and resolve * chore: ^ to ~
1 parent c73ac5e commit b081e35

File tree

8 files changed

+58
-98
lines changed

8 files changed

+58
-98
lines changed

package.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
},
6262
"homepage": "https://github.com/ipfs/js-ipfs#readme",
6363
"devDependencies": {
64-
"aegir": "^9.4.0",
64+
"aegir": "^10.0.0",
6565
"buffer-loader": "0.0.1",
6666
"chai": "^3.5.0",
6767
"delay": "^1.3.1",
@@ -71,10 +71,10 @@
7171
"execa": "^0.6.0",
7272
"expose-loader": "^0.7.1",
7373
"form-data": "^2.1.2",
74-
"fs-pull-blob-store": "^0.4.1",
74+
"fs-pull-blob-store": "~0.4.1",
7575
"gulp": "^3.9.1",
76-
"interface-ipfs-core": "^0.24.0",
77-
"ipfsd-ctl": "^0.18.2",
76+
"interface-ipfs-core": "~0.24.1",
77+
"ipfsd-ctl": "~0.18.3",
7878
"left-pad": "^1.1.3",
7979
"lodash": "^4.17.4",
8080
"mocha": "^3.2.0",
@@ -91,26 +91,26 @@
9191
"bl": "^1.2.0",
9292
"boom": "^4.2.0",
9393
"debug": "^2.6.0",
94-
"fs-pull-blob-store": "^0.3.0",
94+
"fs-pull-blob-store": "~0.3.0",
9595
"glob": "^7.1.1",
9696
"hapi": "^16.1.0",
9797
"hapi-set-header": "^1.0.2",
9898
"hoek": "^4.1.0",
99-
"idb-pull-blob-store": "^0.5.1",
100-
"ipfs-api": "^12.1.6",
101-
"ipfs-bitswap": "^0.9.2",
102-
"ipfs-block": "^0.5.4",
103-
"ipfs-block-service": "^0.8.1",
104-
"ipfs-multipart": "^0.1.0",
105-
"ipfs-repo": "^0.11.2",
106-
"ipfs-unixfs": "^0.1.9",
107-
"ipfs-unixfs-engine": "^0.16.1",
108-
"ipld-resolver": "^0.6.0",
99+
"idb-pull-blob-store": "~0.5.1",
100+
"ipfs-api": "^12.1.7",
101+
"ipfs-bitswap": "~0.9.3",
102+
"ipfs-block": "~0.5.5",
103+
"ipfs-block-service": "~0.8.3",
104+
"ipfs-multipart": "~0.1.0",
105+
"ipfs-repo": "~0.11.3",
106+
"ipfs-unixfs": "~0.1.10",
107+
"ipfs-unixfs-engine": "~0.17.0",
108+
"ipld-resolver": "~0.8.1",
109109
"isstream": "^0.1.2",
110-
"joi": "^10.2.1",
111-
"libp2p-floodsub": "0.7.2",
112-
"libp2p-ipfs-browser": "^0.17.8",
113-
"libp2p-ipfs-nodejs": "^0.17.9",
110+
"joi": "^10.2.2",
111+
"libp2p-floodsub": "~0.7.3",
112+
"libp2p-ipfs-browser": "~0.17.9",
113+
"libp2p-ipfs-nodejs": "~0.17.10",
114114
"lodash.flatmap": "^4.5.0",
115115
"lodash.get": "^4.4.2",
116116
"lodash.has": "^4.5.2",
@@ -119,12 +119,12 @@
119119
"lodash.values": "^4.3.0",
120120
"mafmt": "^2.1.6",
121121
"mkdirp": "^0.5.1",
122-
"multiaddr": "^2.2.0",
123-
"multihashes": "^0.3.2",
122+
"multiaddr": "^2.2.1",
123+
"multihashes": "~0.3.3",
124124
"path-exists": "^3.0.0",
125-
"peer-book": "^0.3.0",
126-
"peer-id": "^0.8.1",
127-
"peer-info": "^0.8.2",
125+
"peer-book": "~0.3.1",
126+
"peer-id": "~0.8.2",
127+
"peer-info": "~0.8.3",
128128
"promisify-es6": "^1.0.2",
129129
"pull-file": "^1.0.0",
130130
"pull-paramap": "^1.2.1",

src/cli/commands/dag/get.js

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,20 @@ module.exports = {
2121

2222
const refParts = argv.ref.split('/')
2323
const cidString = refParts[0]
24-
const pathString = refParts.slice(1).join('/')
24+
const path = refParts.slice(1).join('/')
2525
const cid = new CID(cidString)
2626

27-
let lookupFn
28-
if (pathString) {
29-
lookupFn = () => ipfs.dag.resolve(cid, pathString)
30-
} else {
31-
lookupFn = () => ipfs.dag.get(cid)
32-
}
33-
34-
lookupFn()
35-
.then((obj) => {
27+
ipfs.dag.get(cid, path, (err, result) => {
28+
if (err) {
29+
throw err
30+
}
31+
const obj = result.value
3632
if (Buffer.isBuffer(obj)) {
3733
console.log('0x' + obj.toString('hex'))
3834
} else {
3935
console.log(obj)
4036
}
4137
})
42-
.catch((err) => {
43-
console.error(err)
44-
})
4538
})
4639
}
4740
}

src/core/components/dag.js

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,13 @@
22

33
const promisify = require('promisify-es6')
44

5-
const dagPB = require('ipld-dag-pb')
6-
const dagCBOR = require('ipld-dag-cbor')
7-
85
module.exports = function dag (self) {
96
return {
10-
put: promisify((dagNode, multicodec, hashAlg, callback) => {
11-
switch (multicodec) {
12-
case 'dag-pb': dagPB.util.cid(dagNode, gotCid); break
13-
case 'dag-cbor': dagCBOR.util.cid(dagNode, gotCid); break
14-
default: callback(new Error('IPLD Format not supported'))
15-
}
16-
17-
function gotCid (err, cid) {
18-
if (err) {
19-
return callback(err)
20-
}
21-
22-
self._ipldResolver.put({
23-
node: dagNode,
24-
cid: cid
25-
}, callback)
26-
}
27-
}),
28-
get: promisify((cid, callback) => {
29-
self._ipldResolver.get(cid, callback)
7+
put: promisify((dagNode, options, callback) => {
8+
self._ipldResolver.put(dagNode, options, callback)
309
}),
31-
resolve: promisify((cid, path, callback) => {
32-
self._ipldResolver.resolve(cid, path, callback)
10+
get: promisify((cid, path, options, callback) => {
11+
self._ipldResolver.get(cid, path, options, callback)
3312
})
3413
}
3514
}

src/core/components/files.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,17 @@ module.exports = function files (self) {
6161
return callback(new Error('You must supply a multihash'))
6262
}
6363

64-
self._ipldResolver.get(new CID(hash), (err, node) => {
64+
self._ipldResolver.get(new CID(hash), (err, result) => {
6565
if (err) {
6666
return callback(err)
6767
}
6868

69+
const node = result.value
70+
6971
const data = UnixFS.unmarshal(node.data)
72+
7073
if (data.type === 'directory') {
71-
return callback(
72-
new Error('This dag node is a directory')
73-
)
74+
return callback(new Error('This dag node is a directory'))
7475
}
7576

7677
pull(
@@ -107,6 +108,7 @@ module.exports = function files (self) {
107108

108109
function prepareFile (self, file, callback) {
109110
const bs58mh = multihashes.toB58String(file.multihash)
111+
110112
waterfall([
111113
(cb) => self.object.get(file.multihash, cb),
112114
(node, cb) => {

src/core/components/object.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ module.exports = function object (self) {
8080
if (err) {
8181
return cb(err)
8282
}
83-
self._ipldResolver.put({
84-
node: node,
83+
self._ipldResolver.put(node, {
8584
cid: new CID(node.multihash)
8685
}, (err) => {
8786
cb(err, node)
@@ -112,8 +111,7 @@ module.exports = function object (self) {
112111
if (err) {
113112
return callback(err)
114113
}
115-
self._ipldResolver.put({
116-
node: node,
114+
self._ipldResolver.put(node, {
117115
cid: new CID(node.multihash)
118116
}, (err) => {
119117
if (err) {
@@ -169,8 +167,7 @@ module.exports = function object (self) {
169167
}
170168

171169
function next () {
172-
self._ipldResolver.put({
173-
node: node,
170+
self._ipldResolver.put(node, {
174171
cid: new CID(node.multihash)
175172
}, (err) => {
176173
if (err) {
@@ -196,7 +193,16 @@ module.exports = function object (self) {
196193
return callback(err)
197194
}
198195
const cid = new CID(mh)
199-
self._ipldResolver.get(cid, callback)
196+
197+
self._ipldResolver.get(cid, (err, result) => {
198+
if (err) {
199+
return callback(err)
200+
}
201+
202+
const node = result.value
203+
204+
callback(null, node)
205+
})
200206
}),
201207

202208
data: promisify((multihash, options, callback) => {

test/core/interface/dag-resolve.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

test/core/interface/interface.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ describe('interface-ipfs-core tests', () => {
1111
require('./generic')
1212
require('./object')
1313
require('./dag')
14-
require('./dag-resolve')
1514
if (isNode) {
1615
require('./swarm')
1716
require('./pubsub')

test/utils/create-repo-browser.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1+
/* global self */
12
'use strict'
23

34
const IPFSRepo = require('ipfs-repo')
45
const Store = require('idb-pull-blob-store')
56

6-
const idb = window.indexedDB ||
7-
window.mozIndexedDB ||
8-
window.webkitIndexedDB ||
9-
window.msIndexedDB
7+
const idb = self.indexedDB ||
8+
self.mozIndexedDB ||
9+
self.webkitIndexedDB ||
10+
self.msIndexedDB
1011

1112
function createTempRepo (repoPath) {
1213
repoPath = repoPath || '/tmp/ipfs-test-' + Math.random().toString().substring(2, 8)

0 commit comments

Comments
 (0)