@@ -286,7 +286,7 @@ const _DNS = and(literal('dns'), string())
286
286
* DNS4.matches(multiaddr('/dns4/example.org')) // true
287
287
* ```
288
288
*/
289
- export const DNS4 = fmt ( _DNS4 )
289
+ export const DNS4 = fmt ( _DNS4 , optional ( peerId ( ) ) )
290
290
291
291
/**
292
292
* Matches dns6 addresses.
@@ -302,7 +302,7 @@ export const DNS4 = fmt(_DNS4)
302
302
* DNS6.matches(multiaddr('/dns6/example.org')) // true
303
303
* ```
304
304
*/
305
- export const DNS6 = fmt ( _DNS6 )
305
+ export const DNS6 = fmt ( _DNS6 , optional ( peerId ( ) ) )
306
306
307
307
/**
308
308
* Matches dnsaddr addresses.
@@ -316,9 +316,10 @@ export const DNS6 = fmt(_DNS6)
316
316
* import { DNSADDR } from '@multiformats/multiaddr-matcher'
317
317
*
318
318
* DNSADDR.matches(multiaddr('/dnsaddr/example.org')) // true
319
+ * DNSADDR.matches(multiaddr('/dnsaddr/example.org/p2p/Qmfoo')) // true
319
320
* ```
320
321
*/
321
- export const DNSADDR = fmt ( _DNSADDR )
322
+ export const DNSADDR = fmt ( _DNSADDR , optional ( peerId ( ) ) )
322
323
323
324
/**
324
325
* Matches any dns address.
@@ -332,21 +333,14 @@ export const DNSADDR = fmt(_DNSADDR)
332
333
* DNS.matches(multiaddr('/dnsaddr/example.org')) // true
333
334
* DNS.matches(multiaddr('/dns4/example.org')) // true
334
335
* DNS.matches(multiaddr('/dns6/example.org')) // true
336
+ * DNS.matches(multiaddr('/dns6/example.org/p2p/Qmfoo')) // true
335
337
* ```
336
338
*/
337
- export const DNS = fmt ( or (
338
- _DNS ,
339
- _DNSADDR ,
340
- _DNS4 ,
341
- _DNS6
342
- ) )
339
+ export const DNS = fmt ( or ( _DNS , _DNSADDR , _DNS4 , _DNS6 ) , optional ( peerId ( ) ) )
343
340
344
341
const _IP4 = and ( literal ( 'ip4' ) , func ( isIPv4 ) )
345
342
const _IP6 = and ( literal ( 'ip6' ) , func ( isIPv6 ) )
346
- const _IP = or (
347
- _IP4 ,
348
- _IP6
349
- )
343
+ const _IP = or ( _IP4 , _IP6 )
350
344
351
345
const _IP_OR_DOMAIN = or ( _IP , _DNS , _DNS4 , _DNS6 , _DNSADDR )
352
346
@@ -359,12 +353,13 @@ const _IP_OR_DOMAIN = or(_IP, _DNS, _DNS4, _DNS6, _DNSADDR)
359
353
* import { multiaddr } from '@multiformats/multiaddr'
360
354
* import { IP_OR_DOMAIN } from '@multiformats/multiaddr-matcher'
361
355
*
356
+ * IP_OR_DOMAIN.matches(multiaddr('/ip4/123.123.123.123')) // true
362
357
* IP_OR_DOMAIN.matches(multiaddr('/ip4/123.123.123.123/p2p/QmFoo')) // true
363
358
* IP_OR_DOMAIN.matches(multiaddr('/dns/example.com/p2p/QmFoo')) // true
364
359
* IP_OR_DOMAIN.matches(multiaddr('/p2p/QmFoo')) // false
365
360
* ```
366
361
*/
367
- export const IP_OR_DOMAIN = fmt ( _IP_OR_DOMAIN )
362
+ export const IP_OR_DOMAIN = fmt ( or ( _IP , and ( or ( _DNS , _DNSADDR , _DNS4 , _DNS6 ) , optional ( peerId ( ) ) ) ) )
368
363
369
364
/**
370
365
* Matches ip4 addresses.
@@ -432,7 +427,7 @@ const _UDP = and(_IP_OR_DOMAIN, literal('udp'), number())
432
427
* TCP.matches(multiaddr('/ip4/123.123.123.123/tcp/1234')) // true
433
428
* ```
434
429
*/
435
- export const TCP = fmt ( _TCP )
430
+ export const TCP = fmt ( and ( _TCP , optional ( peerId ( ) ) ) )
436
431
437
432
/**
438
433
* Matches UDP addresses.
0 commit comments