File tree Expand file tree Collapse file tree 3 files changed +28
-0
lines changed Expand file tree Collapse file tree 3 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -191,6 +191,12 @@ const printerOverProxy = proxy.encapsulate(printer)
191
191
// <Multiaddr /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80>
192
192
```
193
193
194
+ ### Misc
195
+
196
+ #### ` multiaddr.isMultiaddr(addr) `
197
+
198
+ Returns ` true ` if the passed in ` addr ` is a valid ` multiaddr ` .
199
+
194
200
## Installation
195
201
196
202
### npm
Original file line number Diff line number Diff line change @@ -166,3 +166,14 @@ Multiaddr.prototype.fromStupidString = function fromStupidString (str) {
166
166
167
167
// patch this in
168
168
Multiaddr . protocols = protocols
169
+
170
+ Multiaddr . isMultiaddr = function isMultiaddr ( addr ) {
171
+ if ( addr . constructor && addr . constructor . name ) {
172
+ return addr . constructor . name === 'Multiaddr'
173
+ }
174
+
175
+ return Boolean (
176
+ addr . fromStupidString &&
177
+ addr . protos
178
+ )
179
+ }
Original file line number Diff line number Diff line change
1
+ /* eslint max-nested-callbacks: ["error", 8] */
1
2
/* eslint-env mocha */
2
3
'use strict'
3
4
@@ -515,4 +516,14 @@ describe('helpers', () => {
515
516
)
516
517
} )
517
518
} )
519
+
520
+ describe ( 'multiaddr.isMultiaddr' , ( ) => {
521
+ it ( 'handles different inputs' , ( ) => {
522
+ expect ( multiaddr . isMultiaddr ( multiaddr ( '/' ) ) ) . to . be . eql ( true )
523
+ expect ( multiaddr . isMultiaddr ( '/' ) ) . to . be . eql ( false )
524
+ expect ( multiaddr . isMultiaddr ( 123 ) ) . to . be . eql ( false )
525
+
526
+ expect ( multiaddr . isMultiaddr ( Buffer ( '/hello' ) ) ) . to . be . eql ( false )
527
+ } )
528
+ } )
518
529
} )
You can’t perform that action at this time.
0 commit comments