1
1
'use strict'
2
2
3
3
const defaultNodes = require ( '../runtime/config-nodejs.json' ) . Bootstrap
4
- const Multiaddr = require ( 'multiaddr' )
4
+ const isMultiaddr = require ( 'mafmt' ) . IPFS . matches
5
5
const promisify = require ( 'promisify-es6' )
6
6
7
- function isValid ( ma ) {
8
- if ( typeof ma === 'string' ) {
9
- try {
10
- ma = new Multiaddr ( ma )
11
- return Boolean ( ma )
12
- } catch ( err ) {
13
- return false
14
- }
15
- } else if ( ma ) {
16
- return Multiaddr . isMultiaddr ( ma )
17
- } else {
7
+ function isValidMultiaddr ( ma ) {
8
+ try {
9
+ return isMultiaddr ( ma )
10
+ } catch ( err ) {
18
11
return false
19
12
}
20
13
}
21
14
15
+ function invalidMultiaddrError ( ma ) {
16
+ return new Error ( `${ ma } is not a valid Multiaddr` )
17
+ }
18
+
22
19
module . exports = function bootstrap ( self ) {
23
20
return {
24
21
list : promisify ( ( callback ) => {
@@ -35,8 +32,8 @@ module.exports = function bootstrap (self) {
35
32
args = { default : false }
36
33
}
37
34
38
- if ( multiaddr && ! isValid ( multiaddr ) ) {
39
- return setImmediate ( ( ) => callback ( new Error ( 'Not valid multiaddr' ) ) )
35
+ if ( multiaddr && ! isValidMultiaddr ( multiaddr ) ) {
36
+ return setImmediate ( ( ) => callback ( invalidMultiaddrError ( multiaddr ) ) )
40
37
}
41
38
42
39
self . _repo . config . get ( ( err , config ) => {
@@ -64,8 +61,8 @@ module.exports = function bootstrap (self) {
64
61
callback = args
65
62
args = { all : false }
66
63
}
67
- if ( multiaddr && ! isValid ( multiaddr ) ) {
68
- return setImmediate ( ( ) => callback ( new Error ( 'Not valid multiaddr' ) ) )
64
+ if ( multiaddr && ! isValidMultiaddr ( multiaddr ) ) {
65
+ return setImmediate ( ( ) => callback ( invalidMultiaddrError ( multiaddr ) ) )
69
66
}
70
67
71
68
self . _repo . config . get ( ( err , config ) => {
0 commit comments