@@ -6,11 +6,10 @@ const codec = require('./codec')
6
6
const protocols = require ( './protocols-table' )
7
7
const varint = require ( 'varint' )
8
8
const bs58 = require ( 'bs58' )
9
+ const withIs = require ( 'class-is' )
9
10
10
11
const NotImplemented = new Error ( 'Sorry, Not Implemented Yet.' )
11
12
12
- exports = module . exports = Multiaddr
13
-
14
13
/**
15
14
* Creates a [multiaddr](https://github.com/multiformats/multiaddr) from
16
15
* a Buffer, String or another Multiaddr instance
@@ -22,7 +21,7 @@ exports = module.exports = Multiaddr
22
21
* Multiaddr('/ip4/127.0.0.1/tcp/4001')
23
22
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
24
23
*/
25
- function Multiaddr ( addr ) {
24
+ const Multiaddr = withIs . proto ( function ( addr ) {
26
25
if ( ! ( this instanceof Multiaddr ) ) {
27
26
return new Multiaddr ( addr )
28
27
}
@@ -44,7 +43,7 @@ function Multiaddr (addr) {
44
43
} else {
45
44
throw new Error ( 'addr must be a string, Buffer, or another Multiaddr' )
46
45
}
47
- }
46
+ } , { className : 'Multiaddr' , symbolName : '@multiformats/js-multiaddr/multiaddr' } )
48
47
49
48
/**
50
49
* Returns Multiaddr as a String
@@ -402,28 +401,6 @@ Multiaddr.prototype.fromStupidString = function fromStupidString (str) {
402
401
*/
403
402
Multiaddr . protocols = protocols
404
403
405
- /**
406
- * Returns if something is a Multiaddr or not
407
- *
408
- * @param {Multiaddr } addr
409
- * @return {Bool } isMultiaddr
410
- * @example
411
- * Multiaddr.isMultiaddr(Multiaddr('/ip4/127.0.0.1/tcp/4001'))
412
- * // true
413
- * Multiaddr.isMultiaddr('/ip4/127.0.0.1/tcp/4001')
414
- * // false
415
- */
416
- Multiaddr . isMultiaddr = function isMultiaddr ( addr ) {
417
- if ( addr . constructor && addr . constructor . name ) {
418
- return addr . constructor . name === 'Multiaddr'
419
- }
420
-
421
- return Boolean (
422
- addr . fromStupidString &&
423
- addr . protos
424
- )
425
- }
426
-
427
404
/**
428
405
* Returns if something is a Multiaddr that is a name
429
406
*
@@ -459,3 +436,5 @@ Multiaddr.resolve = function resolve (addr, callback) {
459
436
*/
460
437
return callback ( new Error ( 'not implemented yet' ) )
461
438
}
439
+
440
+ exports = module . exports = Multiaddr
0 commit comments