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

Commit fc8c62a

Browse files
committed
feat: add files.ls streaming methods
N.b will not actually do any streaming until ipfs/kubo#5611 lands
1 parent c191eea commit fc8c62a

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

src/files-mfs/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ module.exports = (arg) => {
1212
stat: require('./stat')(send),
1313
rm: require('./rm')(send),
1414
ls: require('./ls')(send),
15+
lsReadableStream: require('./ls-readable-stream')(send),
16+
lsPullStream: require('./ls-pull-stream')(send),
1517
read: require('./read')(send),
1618
readReadableStream: require('./read-readable-stream')(send),
1719
readPullStream: require('./read-pull-stream')(send),

src/files-mfs/ls-pull-stream.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'use strict'
2+
3+
const ls = require('./ls')
4+
const defer = require('pull-defer')
5+
const values = require('pull-stream/sources/values')
6+
7+
module.exports = (send) => {
8+
return (args, opts) => {
9+
const deferred = defer.source()
10+
11+
ls(send)(args, opts, (err, entries) => {
12+
if (err) {
13+
return deferred.abort(err)
14+
}
15+
16+
return deferred.resolve(values(entries))
17+
})
18+
19+
return deferred
20+
}
21+
}

src/files-mfs/ls-readable-stream.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict'
2+
3+
const {
4+
PassThrough
5+
} = require('stream')
6+
const lsPullStream = require('./ls-pull-stream')
7+
const toStream = require('pull-stream-to-stream')
8+
9+
module.exports = (send) => {
10+
return (args, opts) => {
11+
return toStream.source(lsPullStream(send)(args, opts))
12+
}
13+
}

0 commit comments

Comments
 (0)