Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit b7ddcbc

Browse files
committed
feat: upgrade to awesome dag-pb
1 parent a131ffd commit b7ddcbc

File tree

3 files changed

+33
-29
lines changed

3 files changed

+33
-29
lines changed

src/add-to-dagnode-transform.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ module.exports = (err, res, send, done) => {
1313

1414
map(res, (entry, next) => waterfall([
1515
(cb) => getDagNode(send, entry.Hash, cb),
16-
(node, cb) => node.size((err, size) => {
16+
(node, cb) => {
1717
if (err) {
1818
return cb(err)
1919
}
2020

2121
cb(null, {
2222
path: entry.Name,
2323
hash: entry.Hash,
24-
size: size
24+
size: node.size
2525
})
26-
})
26+
}
2727
], next), done)
2828
}

src/api/object.js

+28-23
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,17 @@ module.exports = (send) => {
4646
return callback(err)
4747
}
4848

49-
const node = new DAGNode(result.Data, result.Links.map(
50-
(l) => {
51-
return new DAGLink(l.Name, l.Size, new Buffer(bs58.decode(l.Hash)))
52-
}))
53-
54-
cache.set(multihash, node)
49+
const links = result.Links.map((l) => {
50+
return new DAGLink(l.Name, l.Size, new Buffer(bs58.decode(l.Hash)))
51+
})
5552

56-
callback(null, node)
53+
DAGNode.create(result.Data, links, (err, node) => {
54+
if (err) {
55+
return callback(err)
56+
}
57+
cache.set(multihash, node)
58+
callback(null, node)
59+
})
5760
})
5861
}),
5962

@@ -125,23 +128,26 @@ module.exports = (send) => {
125128
})
126129
return
127130
} else {
128-
node = new DAGNode(obj.Data, obj.Links)
129-
}
130-
next()
131-
132-
function next () {
133-
node.toJSON((err, nodeJSON) => {
131+
DAGNode.create(obj.Data, obj.Links, (err, _node) => {
134132
if (err) {
135133
return callback(err)
136134
}
137-
if (nodeJSON.Hash !== result.Hash) {
138-
return callback(new Error('Stored object was different from constructed object'))
139-
}
135+
node = _node
136+
next()
137+
})
138+
return
139+
}
140+
next()
140141

141-
cache.set(result.Hash, node)
142+
function next () {
143+
const nodeJSON = node.toJSON()
144+
if (nodeJSON.multihash !== result.Hash) {
145+
const err = new Error('multihashes do not match')
146+
return callback(err)
147+
}
142148

143-
callback(null, node)
144-
})
149+
cache.set(result.Hash, node)
150+
callback(null, node)
145151
}
146152
})
147153
}),
@@ -248,14 +254,13 @@ module.exports = (send) => {
248254
return callback(err)
249255
}
250256

251-
const node = new DAGNode()
252-
node.toJSON((err, nodeJSON) => {
257+
DAGNode.create(new Buffer(0), (err, node) => {
253258
if (err) {
254259
return callback(err)
255260
}
256261

257-
if (nodeJSON.Hash !== result.Hash) {
258-
return callback(new Error('Stored object was different from constructed object'))
262+
if (node.toJSON.multihash !== result.Hash) {
263+
return callback(new Error('multihahes do not match'))
259264
}
260265

261266
callback(null, node)

src/get-dagnode.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,13 @@ module.exports = function (send, hash, callback) {
3434
var stream = res[1]
3535

3636
if (Buffer.isBuffer(stream)) {
37-
callback(err, new DAGNode(stream, object.Links))
37+
DAGNode.create(stream, object.Links, callback)
3838
} else {
3939
stream.pipe(bl(function (err, data) {
4040
if (err) {
4141
return callback(err)
4242
}
43-
44-
callback(err, new DAGNode(data, object.Links))
43+
DAGNode.create(data, object.Links, callback)
4544
}))
4645
}
4746
})

0 commit comments

Comments
 (0)