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)
191191// <Multiaddr /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80>
192192```
193193
194+ ### Misc
195+
196+ #### ` multiaddr.isMultiaddr(addr) `
197+
198+ Returns ` true ` if the passed in ` addr ` is a valid ` multiaddr ` .
199+
194200## Installation
195201
196202### npm
Original file line number Diff line number Diff line change @@ -166,3 +166,14 @@ Multiaddr.prototype.fromStupidString = function fromStupidString (str) {
166166
167167// patch this in
168168Multiaddr . 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] */
12/* eslint-env mocha */
23'use strict'
34
@@ -515,4 +516,14 @@ describe('helpers', () => {
515516 )
516517 } )
517518 } )
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+ } )
518529} )
You can’t perform that action at this time.
0 commit comments