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

Commit 677c46b

Browse files
committed
feat: refs
1 parent 17d49de commit 677c46b

File tree

6 files changed

+86
-142
lines changed

6 files changed

+86
-142
lines changed

src/files-regular/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ module.exports = (arg) => {
2020
getPullStream: require('../files-regular/get-pull-stream')(send),
2121
ls: require('../files-regular/ls')(send),
2222
lsReadableStream: require('../files-regular/ls-readable-stream')(send),
23-
lsPullStream: require('../files-regular/ls-pull-stream')(send)
23+
lsPullStream: require('../files-regular/ls-pull-stream')(send),
24+
refs: require('../files-regular/refs')(send),
25+
refsPullStream: require('../files-regular/refs-pull-stream')(send)
2426
}
2527
}

src/files-regular/refs-pull-stream.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict'
2+
3+
const pullError = require('pull-stream/sources/error')
4+
const pullValues = require('pull-stream/sources/values')
5+
const pullDefer = require('pull-defer')
6+
const refs = require('./refs')
7+
8+
module.exports = (arg) => {
9+
const refsFn = refs(arg)
10+
11+
return (args, opts) => {
12+
const p = pullDefer.source()
13+
14+
refsFn(args, opts, (err, res) => {
15+
if (err) {
16+
return p.resolve(pullError(err))
17+
}
18+
p.resolve(pullValues(res))
19+
})
20+
21+
return p
22+
}
23+
}

src/files-regular/refs.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
'use strict'
2+
3+
const IsIpfs = require('is-ipfs')
4+
const promisify = require('promisify-es6')
5+
const streamToValue = require('../utils/stream-to-value')
6+
const moduleConfig = require('../utils/module-config')
7+
const cleanCID = require('../utils/clean-cid')
8+
9+
function valueOrStreamToValue (response, callback) {
10+
if (typeof response.pipe === 'function') {
11+
streamToValue(response, callback)
12+
} else {
13+
callback(null, response)
14+
}
15+
}
16+
17+
module.exports = (arg) => {
18+
const send = moduleConfig(arg)
19+
20+
const refs = promisify((args, opts, callback) => {
21+
if (typeof (opts) === 'function') {
22+
callback = opts
23+
opts = {}
24+
}
25+
26+
try {
27+
args = cleanCID(args)
28+
} catch (err) {
29+
if (!IsIpfs.ipfsPath(args)) {
30+
return callback(err)
31+
}
32+
}
33+
34+
const request = {
35+
path: 'refs',
36+
args: args,
37+
qs: opts
38+
}
39+
40+
send.andTransform(request, valueOrStreamToValue, callback)
41+
})
42+
43+
refs.local = promisify((opts, callback) => {
44+
if (typeof (opts) === 'function') {
45+
callback = opts
46+
opts = {}
47+
}
48+
49+
const request = {
50+
path: 'refs/local',
51+
qs: opts
52+
}
53+
54+
send.andTransform(request, valueOrStreamToValue, callback)
55+
})
56+
57+
return refs
58+
}

src/refs.js

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

src/utils/load-commands.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ function requireCommands () {
1818
ls: require('../files-regular/ls'),
1919
lsReadableStream: require('../files-regular/ls-readable-stream'),
2020
lsPullStream: require('../files-regular/ls-pull-stream'),
21+
refs: require('../files-regular/refs'),
22+
refsPullStream: require('../files-regular/refs-pull-stream'),
2123

2224
// Files MFS (Mutable Filesystem)
2325
files: require('../files-mfs'),
@@ -50,7 +52,6 @@ function requireCommands () {
5052
key: require('../key'),
5153
log: require('../log'),
5254
mount: require('../mount'),
53-
refs: require('../refs'),
5455
repo: require('../repo'),
5556
stop: require('../stop'),
5657
shutdown: require('../stop'),

test/refs.spec.js

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

0 commit comments

Comments
 (0)