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

Commit 090a2f8

Browse files
committed
refactor: use streaming for cli refs and refs local
1 parent 29112bb commit 090a2f8

File tree

2 files changed

+30
-16
lines changed

2 files changed

+30
-16
lines changed

src/cli/commands/refs-local.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,21 @@ module.exports = {
1010
handler ({ getIpfs, resolve }) {
1111
resolve((async () => {
1212
const ipfs = await getIpfs()
13-
const refs = await ipfs.refs.local()
14-
for (const ref of refs) {
15-
if (ref.err) {
16-
print(ref.err, true, true)
17-
} else {
18-
print(ref.ref)
19-
}
20-
}
13+
14+
return new Promise((resolve, reject) => {
15+
const stream = ipfs.refs.localReadableStream()
16+
17+
stream.on('error', reject)
18+
stream.on('end', resolve)
19+
20+
stream.on('data', (ref) => {
21+
if (ref.err) {
22+
print(ref.err, true, true)
23+
} else {
24+
print(ref.ref)
25+
}
26+
})
27+
})
2128
})())
2229
}
2330
}

src/cli/commands/refs.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,21 @@ module.exports = {
4545

4646
const ipfs = await getIpfs()
4747
const k = [key].concat(keys)
48-
const refs = await ipfs.refs(k, { recursive, format, edges, unique, maxDepth })
49-
for (const ref of refs) {
50-
if (ref.err) {
51-
print(ref.err, true, true)
52-
} else {
53-
print(ref.ref)
54-
}
55-
}
48+
49+
return new Promise((resolve, reject) => {
50+
const stream = ipfs.refsReadableStream(k, { recursive, format, edges, unique, maxDepth })
51+
52+
stream.on('error', reject)
53+
stream.on('end', resolve)
54+
55+
stream.on('data', (ref) => {
56+
if (ref.err) {
57+
print(ref.err, true, true)
58+
} else {
59+
print(ref.ref)
60+
}
61+
})
62+
})
5663
})())
5764
}
5865
}

0 commit comments

Comments
 (0)