https://github.com/tableflip/joi-multiaddr
Multiaddr validation with Joi
https://github.com/tableflip/joi-multiaddr
Last synced: 10 months ago
JSON representation
Multiaddr validation with Joi
- Host: GitHub
- URL: https://github.com/tableflip/joi-multiaddr
- Owner: tableflip
- License: mit
- Created: 2018-02-28T09:43:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-04T17:37:22.000Z (over 7 years ago)
- Last Synced: 2025-03-17T13:52:46.193Z (over 1 year ago)
- Language: JavaScript
- Size: 107 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# joi-multiaddr
[](https://travis-ci.org/tableflip/joi-multiaddr)
[](https://david-dm.org/tableflip/joi-multiaddr)
[](https://standardjs.com)
> Validate a multiaddr and common formats.
## Install
```js
npm install joi-multiaddr
```
## Usage
```js
const Joi = require('joi').extend(require('joi-multiaddr'))
/**
* Validate a String or Buffer is in multiaddr format:
*/
const schema = Joi.multiaddr()
const result = schema.validate('/ip4/0.0.7.6/tcp/1234')
console.log(result.error) // null
// Note, successful validation converts to a Multiaddr instance:
console.log(result.value) //
/**
* Validate formats using mafmt (https://github.com/multiformats/js-mafmt):
*/
const dnsSchema = Joi.multiaddr().DNS()
const tcpSchema = Joi.multiaddr().TCP()
const ipfsSchema = Joi.multiaddr().IPFS()
/* etc. */
ipfsSchema.validate('/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4') // Success!
ipfsSchema.validate('/ip4/0.0.7.6/tcp/1234') // Failure :(
```
## Contribute
Feel free to dive in! [Open an issue](https://github.com/tableflip/joi-multiaddr/issues/new) or submit PRs.
## License
[MIT](LICENSE) © Alan Shaw