@multiformats/multiaddr-matcher
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

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 it's 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.

Readme

Keywords

Package Sidebar

Install

npm i @multiformats/multiaddr-matcher

Weekly Downloads

11,015

Version

1.2.0

License

Apache-2.0 OR MIT

Unpacked Size

93.9 kB

Total Files

10

Last publish

Collaborators

  • npm-service-account-multiformats
  • alanshaw
  • vascosantos
  • achingbrain
  • lidel
  • rvagg
  • daviddias
  • vmx
  • mikeal
  • hugomrdias