Match different multiaddr formats
This module exports various matchers that can be used to infer the type of a passed multiaddr.
import { multiaddr } from '@multiformats/multiaddr'
import { DNS } from '@multiformats/multiaddr-matcher'
const ma = multiaddr('/dnsaddr/example.org')
DNS.matches(ma) // true - this is a multiaddr with a DNS address at the start
The default matching behaviour ignores any subsequent tuples in the multiaddr.
If you want stricter matching you can use .exactMatch
:
import { multiaddr } from '@multiformats/multiaddr'
import { DNS, Circuit } from '@multiformats/multiaddr-matcher'
const ma = multiaddr('/dnsaddr/example.org/p2p/QmFoo/p2p-circuit/p2p/QmBar')
DNS.exactMatch(ma) // false - this address has extra tuples after the DNS component
Circuit.matches(ma) // true
Circuit.exactMatch(ma) // true - the extra tuples are circuit relay related
$ npm i @multiformats/multiaddr-matcher
Loading this module through a script tag will make its exports available as MultiformatsMultiaddrMatcher
in the global namespace.
<script src="https://unpkg.com/@multiformats/multiaddr-matcher/dist/index.min.js"></script>
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.