JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 35444
  • Score
    100M100P100Q174468F
  • License Apache-2.0 OR MIT

Match different multiaddr formats

Package Exports

  • @multiformats/multiaddr-matcher
  • @multiformats/multiaddr-matcher/utils

Readme

@multiformats/multiaddr-matcher

multiformats.io codecov CI

Match different multiaddr formats

About

This module exports various matchers that can be used to infer the type of a passed multiaddr.

Example

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

Example

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

Install

$ npm i @multiformats/multiaddr-matcher

Browser <script> tag

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>

API Docs

License

Licensed under either of

Contribution

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.