{"_id":"joi-multiaddr","_rev":"4634461","name":"joi-multiaddr","description":"Validate a multiaddr and common formats","dist-tags":{"latest":"4.0.0"},"maintainers":[{"name":"alanshaw","email":""}],"time":{"modified":"2026-04-10T19:08:17.000Z","created":"2018-02-28T10:20:51.281Z","4.0.0":"2019-01-04T17:37:26.615Z","3.0.0":"2018-11-23T10:06:40.847Z","2.0.0":"2018-04-06T16:25:38.380Z","1.0.1":"2018-02-28T12:26:36.386Z","1.0.0":"2018-02-28T10:20:51.281Z"},"users":{},"author":{"name":"Alan Shaw"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"versions":{"4.0.0":{"name":"joi-multiaddr","version":"4.0.0","description":"Validate a multiaddr and common formats","main":"index.js","scripts":{"test":"run-s lint test:*","test:ava":"nyc --reporter=lcov --reporter=text ava","lint":"standard"},"keywords":["multiaddr","addr","address","ipv4","ipv6","tcp","wss","validate","validation","ipfs","ipns","mafmt","joi","extension"],"author":{"name":"Alan Shaw"},"license":"MIT","dependencies":{"mafmt":"^6.0.0","multiaddr":"^6.0.2"},"devDependencies":{"ava":"^1.0.1","joi":"^14.1.0","npm-run-all":"^4.1.2","nyc":"^13.1.0","standard":"^12.0.1"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","gitHead":"418d9b84e5f5391620cb261bc66f7384e7f4f631","_id":"joi-multiaddr@4.0.0","_npmVersion":"6.5.0-next.0","_nodeVersion":"11.6.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"shasum":"1b8440e3c983a520d2637ce10b5fe9443833eab3","size":3030,"noattachment":false,"key":"/joi-multiaddr/-/joi-multiaddr-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/joi-multiaddr/download/joi-multiaddr-4.0.0.tgz"},"maintainers":[{"name":"alanshaw","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-multiaddr_4.0.0_1546623446495_0.2606683239001928"},"_hasShrinkwrap":false,"publish_time":1546623446615,"_cnpm_publish_time":1546623446615,"_cnpmcore_publish_time":"2021-12-16T19:10:24.268Z"},"3.0.0":{"name":"joi-multiaddr","version":"3.0.0","description":"Validate a multiaddr and common formats","main":"index.js","scripts":{"test":"run-s lint test:*","test:ava":"nyc --reporter=lcov --reporter=text ava","lint":"standard"},"keywords":["multiaddr","addr","address","ipv4","ipv6","tcp","wss","validate","validation","ipfs","ipns","mafmt","joi","extension"],"author":{"name":"Alan Shaw"},"license":"MIT","dependencies":{"mafmt":"^6.0.0","multiaddr":"^5.0.2"},"devDependencies":{"ava":"^0.25.0","joi":"^14.1.0","npm-run-all":"^4.1.2","nyc":"^13.1.0","standard":"^12.0.1"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","gitHead":"eeccdd0fb78f149c5c0400163298796fe2a7d5d0","_id":"joi-multiaddr@3.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"maintainers":[{"name":"alanshaw","email":""}],"dist":{"shasum":"a544c1307c1ae9db9a756f0c33965fff90aeccac","size":3037,"noattachment":false,"key":"/joi-multiaddr/-/joi-multiaddr-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/joi-multiaddr/download/joi-multiaddr-3.0.0.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-multiaddr_3.0.0_1542967600734_0.024888881878434077"},"_hasShrinkwrap":false,"publish_time":1542967600847,"_cnpm_publish_time":1542967600847,"_cnpmcore_publish_time":"2021-12-16T19:10:24.628Z"},"2.0.0":{"name":"joi-multiaddr","version":"2.0.0","description":"Validate a multiaddr and common formats","main":"index.js","scripts":{"test":"run-s lint test:*","test:ava":"nyc --reporter=lcov --reporter=text ava","lint":"standard"},"keywords":["multiaddr","addr","address","ipv4","ipv6","tcp","wss","validate","validation","ipfs","ipns","mafmt","joi","extension"],"author":{"name":"Alan Shaw"},"license":"MIT","dependencies":{"mafmt":"^6.0.0","multiaddr":"^4.0.0"},"devDependencies":{"ava":"^0.25.0","joi":"^13.1.2","npm-run-all":"^4.1.2","nyc":"^11.4.1","standard":"^11.0.0"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","gitHead":"03d8a13951b6ca2f723500a88ec798019a8df463","_id":"joi-multiaddr@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.10.0","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"shasum":"4eaf5dd161a6f6e77a427b87ea92eab6d22c5652","size":3068,"noattachment":false,"key":"/joi-multiaddr/-/joi-multiaddr-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/joi-multiaddr/download/joi-multiaddr-2.0.0.tgz"},"maintainers":[{"name":"alanshaw","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-multiaddr_2.0.0_1523031938268_0.9492019967924106"},"_hasShrinkwrap":false,"publish_time":1523031938380,"_cnpm_publish_time":1523031938380,"_cnpmcore_publish_time":"2021-12-16T19:10:24.869Z"},"1.0.1":{"name":"joi-multiaddr","version":"1.0.1","description":"Validate a multiaddr and common formats","main":"index.js","scripts":{"test":"run-s lint test:*","test:ava":"nyc --reporter=lcov --reporter=text ava","lint":"standard"},"keywords":["multiaddr","addr","address","ipv4","ipv6","tcp","wss","validate","validation","ipfs","ipns","mafmt","joi","extension"],"author":{"name":"Alan Shaw"},"license":"MIT","dependencies":{"mafmt":"^4.0.0","multiaddr":"^3.0.2"},"devDependencies":{"ava":"^0.25.0","joi":"^13.1.2","npm-run-all":"^4.1.2","nyc":"^11.4.1","standard":"^11.0.0"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","gitHead":"12043315fafe2429ad6ba3fd0486bfecc9e189f3","_id":"joi-multiaddr@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"shasum":"9392f0b2b85b1110663639c67266342283c1b91c","size":3072,"noattachment":false,"key":"/joi-multiaddr/-/joi-multiaddr-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/joi-multiaddr/download/joi-multiaddr-1.0.1.tgz"},"maintainers":[{"name":"alanshaw","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-multiaddr_1.0.1_1519820796342_0.5225697635165985"},"_hasShrinkwrap":false,"publish_time":1519820796386,"_cnpm_publish_time":1519820796386,"_cnpmcore_publish_time":"2021-12-16T19:10:25.363Z"},"1.0.0":{"name":"joi-multiaddr","version":"1.0.0","description":"Validate a multiaddr and common formats","main":"index.js","scripts":{"test":"run-s lint test:*","test:ava":"nyc --reporter=lcov --reporter=text ava","lint":"standard"},"keywords":["multiaddr","addr","address","ipv4","ipv6","tcp","wss","validate","validation","ipfs","ipns","mafmt","joi","extension"],"author":{"name":"Alan Shaw"},"license":"MIT","dependencies":{"mafmt":"^4.0.0","multiaddr":"^3.0.2"},"devDependencies":{"ava":"^0.25.0","joi":"^13.1.2","npm-run-all":"^4.1.2","nyc":"^11.4.1","standard":"^11.0.0"},"repository":{"type":"git","url":"git+https://github.com/tableflip/joi-multiaddr.git"},"bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","gitHead":"ba1c28e4930c11c18b6ea1ba9977034dec4e6657","_id":"joi-multiaddr@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"alanshaw","email":"alan138@gmail.com"},"dist":{"shasum":"2c1be2e6544ebd3859971fa7c0c29e0e0635ef26","size":3017,"noattachment":false,"key":"/joi-multiaddr/-/joi-multiaddr-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/joi-multiaddr/download/joi-multiaddr-1.0.0.tgz"},"maintainers":[{"name":"alanshaw","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-multiaddr_1.0.0_1519813251180_0.4294274465159662"},"_hasShrinkwrap":false,"publish_time":1519813251281,"_cnpm_publish_time":1519813251281,"_cnpmcore_publish_time":"2021-12-16T19:10:25.560Z"}},"readme":"# joi-multiaddr\n\n[![Build Status](https://travis-ci.org/tableflip/joi-multiaddr.svg?branch=master)](https://travis-ci.org/tableflip/joi-multiaddr)\n[![dependencies Status](https://david-dm.org/tableflip/joi-multiaddr/status.svg)](https://david-dm.org/tableflip/joi-multiaddr)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n> Validate a multiaddr and common formats.\n\n## Install\n\n```js\nnpm install joi-multiaddr\n```\n\n## Usage\n\n```js\nconst Joi = require('joi').extend(require('joi-multiaddr'))\n\n/**\n * Validate a String or Buffer is in multiaddr format:\n */\n\nconst schema = Joi.multiaddr()\nconst result = schema.validate('/ip4/0.0.7.6/tcp/1234')\n\nconsole.log(result.error) // null\n// Note, successful validation converts to a Multiaddr instance:\nconsole.log(result.value) // <Multiaddr 04000007060604d2 - /ip4/0.0.7.6/tcp/1234>\n\n/**\n * Validate formats using mafmt (https://github.com/multiformats/js-mafmt):\n */\n\nconst dnsSchema = Joi.multiaddr().DNS()\nconst tcpSchema = Joi.multiaddr().TCP()\nconst ipfsSchema = Joi.multiaddr().IPFS()\n/* etc. */\n\nipfsSchema.validate('/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4') // Success!\nipfsSchema.validate('/ip4/0.0.7.6/tcp/1234') // Failure :(\n```\n\n## Contribute\n\nFeel free to dive in! [Open an issue](https://github.com/tableflip/joi-multiaddr/issues/new) or submit PRs.\n\n## License\n\n[MIT](LICENSE) © Alan Shaw\n","_attachments":{},"homepage":"https://github.com/tableflip/joi-multiaddr#readme","bugs":{"url":"https://github.com/tableflip/joi-multiaddr/issues"},"license":"MIT"}