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

Commit d821abb

Browse files
committed
add createAddStream
1 parent 17c2ec6 commit d821abb

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"aegir": "^3.2.0",
3333
"chai": "^3.5.0",
3434
"gulp": "^3.9.1",
35-
"interface-ipfs-core": "^0.2.1",
35+
"interface-ipfs-core": "^0.2.2",
3636
"ipfsd-ctl": "^0.14.0",
3737
"pre-commit": "^1.1.2",
3838
"stream-equal": "^0.1.8",

src/api/add-stream.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
'use strict'
2+
3+
const addCmd = require('./add.js')
4+
const Duplex = require('stream').Duplex
5+
const promisify = require('promisify-es6')
6+
7+
module.exports = (send) => {
8+
const add = addCmd(send)
9+
10+
return promisify(function createAddStream (callback) {
11+
const tuples = []
12+
13+
const ds = new Duplex({ objectMode: true })
14+
ds._read = (n) => {}
15+
16+
ds._write = (file, enc, next) => {
17+
tuples.push(file)
18+
next()
19+
}
20+
21+
ds.end = () => {
22+
add(tuples, (err, res) => {
23+
if (err) {
24+
return ds.emit('error', err)
25+
}
26+
27+
res.forEach((tuple) => {
28+
ds.push(tuple)
29+
})
30+
31+
ds.push(null)
32+
})
33+
}
34+
callback(null, ds)
35+
})
36+
}

src/load-commands.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict'
22

33
function requireCommands () {
4-
var cmds = {
4+
const cmds = {
55
bitswap: require('./api/bitswap'),
66
block: require('./api/block'),
77
cat: require('./api/cat'),
@@ -28,6 +28,10 @@ function requireCommands () {
2828
cmds.files = function (send) {
2929
const files = require('./api/files')(send)
3030
files.add = require('./api/add')(send)
31+
files.createAddStream = require('./api/add-stream.js')(send)
32+
// aliases
33+
cmds.add = files.add
34+
cmds.createAddStream = files.createAddStream
3135
return files
3236
}
3337

0 commit comments

Comments
 (0)