{"_id":"validate-iri","_rev":"1-baaa79e2072f445fa042bffd0c75e783","name":"validate-iri","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"validate-iri","version":"1.0.0","description":"Validates an IRI according to RFC 3987","keywords":["IRI","validate","validator","RFC3987","URI","URL"],"main":"index.js","typings":"index","repository":{"type":"git","url":"git+ssh://git@github.com/comunica/validate-iri.js.git"},"author":{"name":"Ruben Taelman","email":"rubensworks@gmail.com"},"bugs":{"url":"https://github.com/comunica/validate-iri.js/issues"},"homepage":"https://github.com/comunica/validate-iri.js#readme","license":"MIT","pre-commit":["build","lint","test"],"devDependencies":{"@rubensworks/eslint-config":"^1.0.0","@types/jest":"^28.0.0","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.1.1","coveralls":"^3.0.0","eslint":"^7.9.0","eslint-config-es":"^3.23.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.0","eslint-plugin-jest":"^24.0.2","eslint-plugin-tsdoc":"^0.2.7","eslint-plugin-unused-imports":"^1.0.0","jest":"^28.0.0","manual-git-changelog":"^1.0.0","pre-commit":"^1.2.2","ts-jest":"^28.0.0","typescript":"^4.0.2"},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"],"testRegex":"(/test/.*|(\\.|/)(test|spec))\\.ts$","moduleFileExtensions":["ts","js"],"collectCoverage":true,"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"scripts":{"test":"jest ${1}","test-watch":"jest ${1} --watch","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","lint":"eslint . --ext .ts --cache","build":"tsc","validate":"npm ls","prepare":"npm run build","version":"manual-git-changelog onversion"},"gitHead":"3379aa30d819888f1aabdda91141fb1dd857f46b","_id":"validate-iri@1.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==","shasum":"a109600246e8a7515ecd238cdcddb7ca54b95d2d","tarball":"https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz","fileCount":7,"unpackedSize":11809,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+dLY4Y7I5ZBMoHFuFYLZevUIPWEhfSiW4Nl+eImvj6QIhAN3XD4/NdrBzhMo5cTcskN1CytZRSNOOPCAqtq2ZQEuj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+0yYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNuA//erWw7F4zsy9AmhjkUXLmy6uospFKw4VKpUWedzpJqBUjADIr\r\np6FgqXY9yj5W8u6lqJ6OnOngdYFO9WVNAJgBHX/sKREthdQP5PqlhNJ/LAKs\r\nZ+q0I+ifCgtkEsXb+Tz1PTyzkUEa5xLRcuSS0tYiz78FMitHg9QXMKD49Gr1\r\nyuVtX66KYIeCWBV3L9g3hB5n8M7klbZMicP12b4J6w87WlpgSUzN/K9ObVVK\r\nVg+Dt5zjKjNh2GWF5I1b6B+CivE5RBLoEhY305JZWJ4GXTlpntfdixPxftBk\r\nmZRbtnhpt6GF9JaigsvmteWn6VvHdPzN8yvDNEBpOwsLNGCT4JK68y4tSIS6\r\nhSr7TsDO59BxHSc0xWxO3B0ysWa1vZOu0oOqBUGNPY3+Ag+SMTBiIrIR7wDB\r\nIs6z/zdkAfTzMy3E4OGC0Uxk19KCMDhVXpjcv2Xlrsl/qX6MiIy95P5S7iex\r\n1ui5iaDEkpR7ovIKPwiGX0XiwOwIv69bCVfIY+oD3qfG8Cj5+mJBW3x3PLjw\r\nNUq4H1fMHnjTyHPk6JmlXIezXCIg4ptkOQAPrF4YcK9ORwOG93TvGMntV95Q\r\nnxMt4477jaqUGGArm5JgTw9CuX6mkdUwvyRttIG7nDM1tpdfkz6Rc/VI0iCm\r\nTRq2OKdmqixBJRlNuJ6fHThmV/D6TvEVI58=\r\n=SOBn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rubensworks","email":"rubensworks@gmail.com"},"directories":{},"maintainers":[{"name":"rubensworks","email":"rubensworks@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/validate-iri_1.0.0_1660636312146_0.3964838296817812"},"_hasShrinkwrap":false},"1.0.1":{"name":"validate-iri","version":"1.0.1","description":"Validates an IRI according to RFC 3987","keywords":["IRI","validate","validator","RFC3987","URI","URL"],"main":"index.js","typings":"index","repository":{"type":"git","url":"git+ssh://git@github.com/comunica/validate-iri.js.git"},"author":{"name":"Ruben Taelman","email":"rubensworks@gmail.com"},"bugs":{"url":"https://github.com/comunica/validate-iri.js/issues"},"homepage":"https://github.com/comunica/validate-iri.js#readme","license":"MIT","pre-commit":["build","lint","test"],"devDependencies":{"@rubensworks/eslint-config":"^1.0.0","@types/jest":"^28.0.0","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.1.1","coveralls":"^3.0.0","eslint":"^7.9.0","eslint-config-es":"^3.23.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.0","eslint-plugin-jest":"^24.0.2","eslint-plugin-tsdoc":"^0.2.7","eslint-plugin-unused-imports":"^1.0.0","jest":"^28.0.0","manual-git-changelog":"^1.0.0","pre-commit":"^1.2.2","ts-jest":"^28.0.0","typescript":"^4.0.2"},"jest":{"transform":{"^.+\\.ts$":"ts-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"],"testRegex":"(/test/.*|(\\.|/)(test|spec))\\.ts$","moduleFileExtensions":["ts","js"],"collectCoverage":true,"coverageThreshold":{"global":{"branches":100,"functions":100,"lines":100,"statements":100}}},"scripts":{"test":"jest ${1}","test-watch":"jest ${1} --watch","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","lint":"eslint . --ext .ts --cache","build":"tsc","validate":"npm ls","prepare":"npm run build","version":"manual-git-changelog onversion"},"gitHead":"caa9a24da9aa001c72ccc12954083453503d0dea","_id":"validate-iri@1.0.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==","shasum":"4f7289a479e2ed96d3b8b613e12674c725fbb29b","tarball":"https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz","fileCount":9,"unpackedSize":19237,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCD9trvBWyYH1mjM4ymObrNe9+YQNo7WEO7p7/4iDS0zwIhANM7An47rccV0EpznRCcR0n1lLJ/KUmS0jHNKfVJ2U4u"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja3KlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXRhAAl1gizLiuCVGgc2JxAmHNpuZCUO4Bmp0MxNe70ybgZWp9EWX+\r\nDBNgvMgP0U9Nkllncf5W9oj1REMokXBOrDE2EZT7FPJ2gybEeaSCtTJeMyXI\r\ntmc8OsoU1cOawlKPdH916g+i/kNLNGNZDdMysU+PqvqXyMsZMZ2tM9YgKnbl\r\n7cpywKpeo+e2Zt9leG6uZt7By4buCriQQt5O2muHSeT+mVkX6xY2SObC3eJm\r\njqefesKucCT1Q/k/ZRV1vKUddhyDGRS5PCt3NBfkPBVeuu09jpIURl2Zfk31\r\nHrLh0A08JD6ZDU+JLQJSKfPo5UaPcr1PtHq/Fqv9L7goD8Gos71cri55537K\r\nrSYByqCiHuarOGHxo7U0NvJ69F68tktgUgolcVHb6m4rMpbI/6aJEtPBX26r\r\nlffwXY/aGh9+FU1hRktptSy4RyM2eZKfjsjqvKnofN4qtxMrHU2DFHYqon+2\r\nDYsM9208YJ5f4iy9x4R/+zIGdwRSxpPAdxrzMwV3Xl08VM0I3JfmxBXWJN13\r\nZGWMs3aaE0zg0p9NlP4p5DM+sTc69n0CwLg0Lmm+JOIOW7UDreFswgFBL302\r\nOnBEawGFE/cu1NL9H58jFXKy6OKAzdx5mi507guRmKKdmwU5Laf5XkLNbpQV\r\n1VRAzHj0Bbj1UjfgbQD+X7zungg2PVk5oGU=\r\n=Aho0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rubensworks","email":"rubensworks@gmail.com"},"directories":{},"maintainers":[{"name":"rubensworks","email":"rubensworks@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/validate-iri_1.0.1_1667986085123_0.18425686109193573"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-16T07:51:52.061Z","1.0.0":"2022-08-16T07:51:52.294Z","modified":"2022-11-09T09:28:05.375Z","1.0.1":"2022-11-09T09:28:05.269Z"},"maintainers":[{"name":"rubensworks","email":"rubensworks@gmail.com"}],"description":"Validates an IRI according to RFC 3987","homepage":"https://github.com/comunica/validate-iri.js#readme","keywords":["IRI","validate","validator","RFC3987","URI","URL"],"repository":{"type":"git","url":"git+ssh://git@github.com/comunica/validate-iri.js.git"},"author":{"name":"Ruben Taelman","email":"rubensworks@gmail.com"},"bugs":{"url":"https://github.com/comunica/validate-iri.js/issues"},"license":"MIT","readme":"# Validate IRI\n\n[![Build status](https://github.com/comunica/validate-iri.js/workflows/CI/badge.svg)](https://github.com/comunica/validate-iri.js/actions?query=workflow%3ACI)\n[![Coverage Status](https://coveralls.io/repos/github/comunica/validate-iri.js/badge.svg?branch=master)](https://coveralls.io/github/comunica/validate-iri.js?branch=master)\n[![npm version](https://badge.fury.io/js/validate-iri.svg)](https://www.npmjs.com/package/validate-iri)\n\nThis tool validates an IRI, either using strict RFC 3987 grammar, or using a faster but less strict pragmatic validation mode.\nIt works in both JavaScript and TypeScript.\n\n## Installation\n\n```bash\n$ npm install validate-iri\n```\nor\n```bash\n$ yarn add validate-iri\n```\n\nThis package also works out-of-the-box in browsers via tools such as [webpack](https://webpack.js.org/) and [browserify](http://browserify.org/).\n\n## Usage\n\nMultiple validation modes are provided:\n- `IriValidationStrategy.Strict`: carefully validates the IRI using RFC 3987 grammar. This is the default value.\n- `IriValidationStrategy.Pragmatic`: quickly validates that the IRI has a valid scheme and does not contain any character forbidden by the N-Triples, Turtle and N3 grammars.\n- `IriValidationStrategy.None`: does not validate the IRI at all.\n\nExample:\n```\nimport { validateIri, IriValidationStrategy } from 'validate-iri`\nconst yourIri = 'https://example.com/john-doe'\nvalidateIri(yourIri, IriValidationStrategy.Pragmatic) // Will throw an error if the IRI is invalid.\n```\n\n## Performance\n\nWhen using strict validation mode, a significant performance overhead should be taken into account.\nIn isolation, strict validation is an order of magnitude slower than pragmatic validation.\n\nWhen used in a parser such as [rdfxml-streaming-parser.js](https://github.com/rdfjs/rdfxml-streaming-parser.js/), the performance impact on parsing is the following (GeoSpecies Knowledge Base with 1.8M triples):\n\n- Strict validation: 12.053s\n- Pragmatic validation: 9.116s\n- No validation: 8.338s\n\n## License\n\nThis code is released under the [MIT license](http://opensource.org/licenses/MIT).\n","readmeFilename":"README.md"}