2
2
3
3
const multiaddr = require ( 'multiaddr' )
4
4
const Libp2pNode = require ( 'libp2p-ipfs' ) . Node
5
+ const promisify = require ( 'promisify-es6' )
5
6
6
7
const OFFLINE_ERROR = require ( '../utils' ) . OFFLINE_ERROR
7
8
@@ -31,29 +32,50 @@ module.exports = function libp2p (self) {
31
32
self . _libp2pNode . stop ( callback )
32
33
} ,
33
34
swarm : {
34
- peers : ( callback ) => {
35
+ peers : promisify ( ( callback ) => {
35
36
if ( ! self . isOnline ( ) ) {
36
37
return callback ( OFFLINE_ERROR )
37
38
}
38
39
39
- callback ( null , self . _libp2pNode . peerBook . getAll ( ) )
40
- } ,
40
+ const peers = self . _libp2pNode . peerBook . getAll ( )
41
+ const mas = [ ]
42
+ Object
43
+ . keys ( peers )
44
+ . forEach ( ( b58Id ) => {
45
+ peers [ b58Id ] . multiaddrs . forEach ( ( ma ) => {
46
+ // TODO this should only print the addr we are using
47
+ mas . push ( ma )
48
+ } )
49
+ } )
50
+
51
+ callback ( null , mas )
52
+ } ) ,
41
53
// all the addrs we know
42
- addrs : ( callback ) => {
54
+ addrs : promisify ( ( callback ) => {
43
55
if ( ! self . isOnline ( ) ) {
44
56
return callback ( OFFLINE_ERROR )
45
57
}
46
- // TODO
47
- throw new Error ( 'Not implemented' )
48
- } ,
49
- localAddrs : ( callback ) => {
58
+ const peers = self . _libp2pNode . peerBook . getAll ( )
59
+ const mas = [ ]
60
+ Object
61
+ . keys ( peers )
62
+ . forEach ( ( b58Id ) => {
63
+ peers [ b58Id ] . multiaddrs . forEach ( ( ma ) => {
64
+ // TODO this should only print the addr we are using
65
+ mas . push ( ma )
66
+ } )
67
+ } )
68
+
69
+ callback ( null , mas )
70
+ } ) ,
71
+ localAddrs : promisify ( ( callback ) => {
50
72
if ( ! self . isOnline ( ) ) {
51
73
return callback ( OFFLINE_ERROR )
52
74
}
53
75
54
76
callback ( null , self . _libp2pNode . peerInfo . multiaddrs )
55
- } ,
56
- connect : ( maddr , callback ) => {
77
+ } ) ,
78
+ connect : promisify ( ( maddr , callback ) => {
57
79
if ( ! self . isOnline ( ) ) {
58
80
return callback ( OFFLINE_ERROR )
59
81
}
@@ -63,8 +85,8 @@ module.exports = function libp2p (self) {
63
85
}
64
86
65
87
self . _libp2pNode . dialByMultiaddr ( maddr , callback )
66
- } ,
67
- disconnect : ( maddr , callback ) => {
88
+ } ) ,
89
+ disconnect : promisify ( ( maddr , callback ) => {
68
90
if ( ! self . isOnline ( ) ) {
69
91
return callback ( OFFLINE_ERROR )
70
92
}
@@ -74,11 +96,11 @@ module.exports = function libp2p (self) {
74
96
}
75
97
76
98
self . _libp2pNode . hangUpByMultiaddr ( maddr , callback )
77
- } ,
78
- filters : ( ) => {
99
+ } ) ,
100
+ filters : promisify ( ( callback ) => {
79
101
// TODO
80
102
throw new Error ( 'Not implemented' )
81
- }
103
+ } )
82
104
} ,
83
105
routing : { } ,
84
106
records : { } ,
0 commit comments