Skip to content

multiformats/js-mafmt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c6369a7 · Mar 21, 2024
Mar 21, 2024
Jun 1, 2023
Jun 1, 2023
Aug 18, 2021
Jan 5, 2022
Mar 17, 2023
Aug 2, 2023
Sep 21, 2022
Jan 5, 2022
Sep 21, 2022
Mar 17, 2023
Aug 2, 2023
Jan 5, 2022

Repository files navigation

@multiformats/mafmt

multiformats.io codecov CI

A multiaddr validator

Table of contents

Install

$ npm i @multiformats/mafmt

Browser <script> tag

Loading this module through a script tag will make it's exports available as MultiformatsMafmt in the global namespace.

<script src="https://unpkg.com/@multiformats/mafmt/dist/index.min.js"></script>

Usage

import * as mafmt from '@multiformats/mafmt'

mafmt.DNS.matches('/dns4/ipfs.io') // true

API

mafmt.<FORMAT>.matches(multiaddr)

Where <FORMAT> may be:

<FORMAT> Description Example(s)
DNS a "dns4" or "dns6" format multiaddr /dnsaddr/ipfs.io
DNS4 a "dns4" format multiaddr /dns4/ipfs.io
DNS6 a "dns6" format multiaddr /dns6/protocol.ai/tcp/80
IP an "ip4" or "ip6" format multiaddr /ip4/127.0.0.1
/ip6/fc00::
TCP a "tcp" over IP format multiaddr /ip4/0.0.7.6/tcp/1234
UDP a "udp" over IP format multiaddr /ip4/0.0.7.6/udp/1234
QUIC a "quic" over UDP format multiaddr /ip4/1.2.3.4/udp/1234/quic
UTP a "utp" over UDP format multiaddr /ip4/1.2.3.4/udp/3456/utp
Websockets a "ws" over TCP or "ws" over DNS format multiaddr /ip4/1.2.3.4/tcp/3456/ws
/dnsaddr/ipfs.io/ws
WebSocketsSecure a "wss" over TCP or "wss" over DNS format multiaddr /ip6/::/tcp/0/wss
/dnsaddr/ipfs.io/wss
HTTP a "http" over TCP or DNS or "http" over DNS format multiaddr /ip4/127.0.0.1/tcp/90/http
/dnsaddr/ipfs.io/http
HTTPS a "https" over TCP or DNS or "https" over DNS format multiaddr /ip4/127.0.0.1/tcp/90/https
/dnsaddr/ipfs.io/https
WebRTCStar a "p2p" over "p2p-webrtc-star" over Websockets or "p2p" over "p2p-webrtc-star" over WebSocketsSecure format multiaddr /dnsaddr/ipfs.io/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4
WebSocketStar a "p2p" over "p2p-websocket-star" over Websockets or "p2p" over "p2p-websocket-star" over WebSocketsSecure or "p2p-websocket-star" over Websockets or "p2p-websocket-star" over WebSocketsSecure format multiaddr /ip4/1.2.3.4/tcp/3456/ws/p2p-websocket-star
/dnsaddr/localhost/ws/p2p-websocket-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4
WebRTCDirect a "p2p-webrtc-direct" over HTTP or "p2p-webrtc-direct" over HTTPS format multiaddr /ip4/1.2.3.4/tcp/3456/http/p2p-webrtc-direct
Reliable a WebSockets or WebSocketsSecure or HTTP or HTTPS or WebRTCStar or WebRTCDirect or TCP or UTP or QUIC format multiaddr /dnsaddr/ipfs.io/wss
Circuit /p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4/p2p-circuit/p2p/QmUjNmr8TgJCn1Ao7DvMy4cjoZU15b9bwSCBLE3vwXiwgj
P2P "p2p", aka "ipfs", over Reliable or WebRTCStar or "p2p" format multiaddr /p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4
/ip4/127.0.0.1/tcp/20008/ws/p2p/QmUjNmr8TgJCn1Ao7DvMy4cjoZU15b9bwSCBLE3vwXiwgj

Where multiaddr may be:

Returns true/false

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.