Skip to content

Commit db032e9

Browse files
authored
fix: update inspect format to be like CID class (#290)
Simplify the `inspect` output to just contain the string representation of the multiaddr similar to the CID class.
1 parent fe36328 commit db032e9

File tree

3 files changed

+29
-55
lines changed

3 files changed

+29
-55
lines changed

Diff for: README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ A standard way to represent addresses that
4949
```js
5050
import { multiaddr } from 'multiaddr'
5151
const addr = multiaddr("/ip4/127.0.0.1/udp/1234")
52-
// <Multiaddr /ip4/127.0.0.1/udp/1234>
52+
// Multiaddr(/ip4/127.0.0.1/udp/1234)
5353

5454
const addr = multiaddr("/ip4/127.0.0.1/udp/1234")
55-
// <Multiaddr /ip4/127.0.0.1/udp/1234>
55+
// Multiaddr(/ip4/127.0.0.1/udp/1234)
5656

5757
addr.bytes
5858
// <Uint8Array 04 7f 00 00 01 11 04 d2>
@@ -79,7 +79,7 @@ addr.nodeAddress()
7979
*/
8080

8181
addr.encapsulate('/sctp/5678')
82-
// <Multiaddr /ip4/127.0.0.1/udp/1234/sctp/5678>
82+
// Multiaddr(/ip4/127.0.0.1/udp/1234/sctp/5678)
8383
```
8484

8585
## API
@@ -89,6 +89,7 @@ addr.encapsulate('/sctp/5678')
8989
## Resolvers
9090

9191
`multiaddr` allows multiaddrs to be resolved when appropriate resolvers are provided. This module already has resolvers available, but you can also create your own. Resolvers should always be set in the same module that is calling `multiaddr.resolve()` to avoid conflicts if multiple versions of `multiaddr` are in your dependency tree.
92+
9293
To provide multiaddr resolvers you can do:
9394

9495
```js

Diff for: src/index.ts

+25-45
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,13 @@ export interface Multiaddr {
222222
* import { multiaddr } from '@multiformats/multiaddr'
223223
*
224224
* const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
225-
* // <Multiaddr 0408080808060438 - /ip4/8.8.8.8/tcp/1080>
225+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080)
226226
*
227227
* const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
228-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
228+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
229229
*
230230
* const mh3 = mh1.encapsulate(mh2)
231-
* // <Multiaddr 0408080808060438047f000001060fa1 - /ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001>
231+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)
232232
*
233233
* mh3.toString()
234234
* // '/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001'
@@ -246,13 +246,13 @@ export interface Multiaddr {
246246
* import { multiaddr } from '@multiformats/multiaddr'
247247
*
248248
* const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
249-
* // <Multiaddr 0408080808060438 - /ip4/8.8.8.8/tcp/1080>
249+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080)
250250
*
251251
* const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
252-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
252+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
253253
*
254254
* const mh3 = mh1.encapsulate(mh2)
255-
* // <Multiaddr 0408080808060438047f000001060fa1 - /ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001>
255+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)
256256
*
257257
* mh3.decapsulate(mh2).toString()
258258
* // '/ip4/8.8.8.8/tcp/1080'
@@ -273,7 +273,7 @@ export interface Multiaddr {
273273
* import { multiaddr } from '@multiformats/multiaddr'
274274
*
275275
* const addr = multiaddr('/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC')
276-
* // <Multiaddr 0400... - /ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC>
276+
* // Multiaddr(/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC)
277277
*
278278
* addr.decapsulateCode(421).toString()
279279
* // '/ip4/0.0.0.0/tcp/8080'
@@ -292,7 +292,7 @@ export interface Multiaddr {
292292
* import { multiaddr } from '@multiformats/multiaddr'
293293
*
294294
* const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080/ipfs/QmValidBase58string')
295-
* // <Multiaddr 0408080808060438 - /ip4/8.8.8.8/tcp/1080/ipfs/QmValidBase58string>
295+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080/ipfs/QmValidBase58string)
296296
*
297297
* // should return QmValidBase58string or null if the id is missing or invalid
298298
* const peerId = mh1.getPeerId()
@@ -308,7 +308,7 @@ export interface Multiaddr {
308308
* import { multiaddr } from '@multiformats/multiaddr'
309309
*
310310
* const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080/unix/tmp/p2p.sock')
311-
* // <Multiaddr 0408080808060438 - /ip4/8.8.8.8/tcp/1080/unix/tmp/p2p.sock>
311+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080/unix/tmp/p2p.sock)
312312
*
313313
* // should return utf8 string or null if the id is missing or invalid
314314
* const path = mh1.getPath()
@@ -324,10 +324,10 @@ export interface Multiaddr {
324324
* import { multiaddr } from '@multiformats/multiaddr'
325325
*
326326
* const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
327-
* // <Multiaddr 0408080808060438 - /ip4/8.8.8.8/tcp/1080>
327+
* // Multiaddr(/ip4/8.8.8.8/tcp/1080)
328328
*
329329
* const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
330-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
330+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
331331
*
332332
* mh1.equals(mh1)
333333
* // true
@@ -349,9 +349,9 @@ export interface Multiaddr {
349349
* const mh1 = multiaddr('/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb')
350350
* const resolvedMultiaddrs = await mh1.resolve()
351351
* // [
352-
* // <Multiaddr 04934b5353060fa1a503221220c10f9319dac35c270a6b74cd644cb3acfc1f6efc8c821f8eb282599fd1814f64 - /ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb>,
353-
* // <Multiaddr 04934b53530601bbde03a503221220c10f9319dac35c270a6b74cd644cb3acfc1f6efc8c821f8eb282599fd1814f64 - /ip4/147.75.83.83/tcp/443/wss/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb>,
354-
* // <Multiaddr 04934b535391020fa1cc03a503221220c10f9319dac35c270a6b74cd644cb3acfc1f6efc8c821f8eb282599fd1814f64 - /ip4/147.75.83.83/udp/4001/quic/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb>
352+
* // Multiaddr(/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
353+
* // Multiaddr(/ip4/147.75.83.83/tcp/443/wss/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
354+
* // Multiaddr(/ip4/147.75.83.83/udp/4001/quic/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb)
355355
* // ]
356356
* ```
357357
*/
@@ -386,13 +386,13 @@ export interface Multiaddr {
386386
* import { multiaddr } from '@multiformats/multiaddr'
387387
*
388388
* const mh1 = multiaddr('/ip4/127.0.0.1/tcp/4001')
389-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
389+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
390390
* const mh2 = multiaddr('/ip4/192.168.2.1/tcp/5001')
391-
* // <Multiaddr 04c0a80201061389 - /ip4/192.168.2.1/tcp/5001>
391+
* // Multiaddr(/ip4/192.168.2.1/tcp/5001)
392392
* const mh3 = mh1.encapsulate(mh2)
393-
* // <Multiaddr 047f000001060fa104c0a80201061389 - /ip4/127.0.0.1/tcp/4001/ip4/192.168.2.1/tcp/5001>
393+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001/ip4/192.168.2.1/tcp/5001)
394394
* const mh4 = multiaddr('/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')
395-
* // <Multiaddr 047f0000010607d0de039302a503221220d52ebb89d85b02a284948203a62ff28389c57c9f42beec4ec20db76a64835843 - /ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a>
395+
* // Multiaddr(/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a)
396396
* mh1.isThinWaistAddress()
397397
* // true
398398
* mh2.isThinWaistAddress()
@@ -404,21 +404,6 @@ export interface Multiaddr {
404404
* ```
405405
*/
406406
isThinWaistAddress: (addr?: Multiaddr) => boolean
407-
408-
/**
409-
* Returns Multiaddr as a human-readable string.
410-
* Fallback for pre Node.js v10.0.0.
411-
* https://nodejs.org/api/deprecations.html#deprecations_dep0079_custom_inspection_function_on_objects_via_inspect
412-
*
413-
* @example
414-
* ```js
415-
* import { multiaddr } from '@multiformats/multiaddr'
416-
*
417-
* multiaddr('/ip4/127.0.0.1/tcp/4001').inspect()
418-
* // '<Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>'
419-
* ```
420-
*/
421-
inspect: () => string
422407
}
423408

424409
/**
@@ -429,7 +414,7 @@ export interface Multiaddr {
429414
* import { fromNodeAddress } from '@multiformats/multiaddr'
430415
*
431416
* fromNodeAddress({address: '127.0.0.1', port: '4001'}, 'tcp')
432-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
417+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
433418
* ```
434419
*/
435420
export function fromNodeAddress (addr: NodeAddress, transport: string): Multiaddr {
@@ -738,24 +723,19 @@ class DefaultMultiaddr implements Multiaddr {
738723
}
739724

740725
/**
741-
* Returns Multiaddr as a human-readable string.
742-
* For post Node.js v10.0.0.
743-
* https://nodejs.org/api/deprecations.html#deprecations_dep0079_custom_inspection_function_on_objects_via_inspect
726+
* Returns Multiaddr as a human-readable string
727+
* https://nodejs.org/api/util.html#utilinspectcustom
744728
*
745729
* @example
746730
* ```js
747731
* import { multiaddr } from '@multiformats/multiaddr'
748732
*
749-
* multiaddr('/ip4/127.0.0.1/tcp/4001')
750-
* // '<Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>'
733+
* console.info(multiaddr('/ip4/127.0.0.1/tcp/4001'))
734+
* // 'Multiaddr(/ip4/127.0.0.1/tcp/4001)'
751735
* ```
752736
*/
753737
[inspect] (): string {
754-
return this.inspect()
755-
}
756-
757-
inspect (): string {
758-
return `<Multiaddr ${uint8ArrayToString(this.bytes, 'base16')} - ${codec.bytesToString(this.bytes)}>`
738+
return `Multiaddr(${codec.bytesToString(this.bytes)})`
759739
}
760740
}
761741

@@ -767,7 +747,7 @@ class DefaultMultiaddr implements Multiaddr {
767747
* import { multiaddr } from '@libp2p/multiaddr'
768748
*
769749
* multiaddr('/ip4/127.0.0.1/tcp/4001')
770-
* // <Multiaddr 047f000001060fa1 - /ip4/127.0.0.1/tcp/4001>
750+
* // Multiaddr(/ip4/127.0.0.1/tcp/4001)
771751
* ```
772752
*
773753
* @param {MultiaddrInput} [addr] - If String or Uint8Array, needs to adhere to the address format of a [multiaddr](https://github.com/multiformats/multiaddr#string-format)

Diff for: test/index.spec.ts

-7
Original file line numberDiff line numberDiff line change
@@ -550,13 +550,6 @@ describe('helpers', () => {
550550
})
551551
})
552552

553-
describe('.inspect', () => {
554-
it('renders the buffer as hex', () => {
555-
expect(multiaddr('/ip4/0.0.0.0/tcp/1234').inspect())
556-
.to.eql('<Multiaddr 04000000000604d2 - /ip4/0.0.0.0/tcp/1234>')
557-
})
558-
})
559-
560553
describe('.protos', () => {
561554
it('returns a list of all protocols in the address', () => {
562555
expect(multiaddr('/ip4/0.0.0.0/utp').protos())

0 commit comments

Comments
 (0)