{"_id":"@aminnairi/url","_rev":"2-1ae1817033ec6f5c98aba158ca3f71ee","name":"@aminnairi/url","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@aminnairi/url","description":"Match routes and get parameters from urls","version":"0.1.0","homepage":"https://github.com/aminnairi/url#readme","license":"GPL-3.0-or-later","main":"./build/index.common.js","browser":"./build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/url/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi/url"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/url.git"},"scripts":{"development":"rollup --config rollup.config.js","test":"jest"},"devDependencies":{"@babel/core":"7.18.6","@babel/preset-env":"7.18.6","babel-jest":"28.1.2","jest":"28.1.2","rollup":"2.76.0"},"gitHead":"c033446d77e5d9e3030a8a264e476ec4d26fa64a","_id":"@aminnairi/url@0.1.0","_nodeVersion":"18.3.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-ahr7kWo5ihwULub5NH8wEu3mDoaCs4r7hQYEZ2LtdnsEgYe5ekPPeznziUe0KawfG5dNe2/f0OwuwZJs8q0dxw==","shasum":"22a7e52a26bb03bfa50cb71486e24652630acd17","tarball":"https://registry.npmjs.org/@aminnairi/url/-/url-0.1.0.tgz","fileCount":6,"unpackedSize":42579,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ6HQ2fy1K2wrXNhk4t+WHjuClDhlOfIEI55BJzB2HTAIgInFLvK7Xu1uIhMtSvaVm5+FnR8IQg98yZABx1mPXciM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyerGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6Aw/+IRi8WQTot/ObtOlMw2urc61rtDDxf7CZrF7F9IUFmIUmiy1w\r\nzjzXRJtTCfvgKZNJO9XBY8ZfL8NXThsI6V0f/ZmIg6A4Dge9Uasw8rq5ZKfB\r\nl0XcAa5eWl5lR8BVrxF+KxJAOf5zHRhOHGq+2+PIfiUxjZATf3oJXTb37ldv\r\nhmmtqZegAv8sL70NYxc04a4GBeFFly/8Fa7IKQVoriuDHObdK3NRR0Ap2OwT\r\n4TMcMhTBCFemmS+rBEgBRwTsz8f1VhCtXA330Y3Bnp/rnemX/KndwjNIji7O\r\nErgSdSJYpFFQu02mpo0UkyObQmCOg3cp9OOwG1cm+9EEORtxQ2jPP0qT8H8t\r\nDS1gSdg1BdShYJqHw+vupjaqXtlkwy8kCwJoif/WbizIiptrx4kOmLihe8Nb\r\n4IP16yCq3Fb2WT92B4v3OPjQJ093d0KlTxZHnUjuocKCsqH1Wdw6fy8mrb6q\r\nB46Z0gcPtOSu0xnLKCaUWUxFkgZdVc8JCstLDselE5xT0XSCmenh4ad8vbpA\r\nULikLu/o6yTslk2/3WxG0dmmaraT3qOtBXsfOklLEiQhJa213/xCG44J9mmB\r\n7c3E8aj4mT/KoprDLbMTAZ5ZGCIHqYL8CNIdC8/47EBJt1HQWXVbtzxU/Z2s\r\nEYbNBr+q6JnkrNFVm7Qr/ETOWTJOEO2l56Y=\r\n=+/4c\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/url_0.1.0_1657400005991_0.45014637854307415"},"_hasShrinkwrap":false},"0.2.0":{"name":"@aminnairi/url","description":"Match routes and get parameters from urls","version":"0.2.0","homepage":"https://github.com/aminnairi/url#readme","license":"GPL-3.0-or-later","main":"./build/index.common.js","browser":"./build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/url/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi/url"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/url.git"},"scripts":{"development":"rollup --config rollup.config.js --environment NODE_ENV:development --watch","production":"rollup --config rollup.config.js --environment NODE_ENV:production","test":"jest"},"devDependencies":{"@babel/core":"7.18.6","@babel/preset-env":"7.18.6","babel-jest":"28.1.2","jest":"28.1.2","rollup":"2.76.0","rollup-plugin-terser":"7.0.2"},"gitHead":"cee9662a8207631a8134e27a3b366bf3f9b063a8","_id":"@aminnairi/url@0.2.0","_nodeVersion":"18.3.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-7ZmUOb3LSGXXdOPZzp+0dR6cb+VLV0l60XRCjPGz2EzqCMpg9e7+SjM7/W4HV9EpdlffKVsI1vLsBmpagSckMQ==","shasum":"a574ce7477429a5ef03cb78c668a2e6b8ba2ebf2","tarball":"https://registry.npmjs.org/@aminnairi/url/-/url-0.2.0.tgz","fileCount":6,"unpackedSize":41644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8+7FhLrRLzVufs8VAvVzpZkW8CHUBoa5W6hJG7teIRQIhAOmpyhUWi8KgjHrlclDqOt1XcEMzrQSouSD/+0VD83nO"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiye3VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpc0w/+IhOxK1nTXhrlYcHPWqvDMKC6rP5poKY9y1xfMsoZvn2mhZWg\r\nv5YqNZ/qkPTmGL6yI6O1EzV27tQeq+Jf7Jp86p+BPaszISAMzKJ0adft5Q4b\r\n+TRH4Wafw8T+5cWS1geMIs/vILDm2+nAD7f+DaWgs/ZcZgOAzv9oGCMA822Y\r\nAHIxklaLMIpT+9ELancx9mNbnIgYY+Af+CMLUDYb9taXGTffqhgZKGhWpB8g\r\nhotYSPcX5rp7EoveoZufJcV10fnyRZFgfnNKxHZ/8X9JSgOqITv0HeRnvZu7\r\nOc2UmOAILM2zbfraf9HM8jvcLRYXke6eChSsu6acjCfGzbaj8pJUkELn3Hyj\r\nbjrrM5ZZd/pMW6nXjttOW+R2+U87CTgzU+6ffgFPBwc1hIdJ+FOhAMwAfNpu\r\nabhDc/Jf5kejvsSnuhVgvs/N6qm1QLUeC7v6rJSwtXbGLjDhR/50+3aQysBU\r\navhW2uEZdPtkHWzjlKD5t04LzLb68Lv8vEE82xXcGJ2lm0dMWnOa34WYlNr9\r\nzD6Wz71Op0Y2+QlseVbdUcGRVy2u910JW99+dJrYp/Ji4lVuaqCGX44ojEKM\r\n1xfUKZy2TxelI1BqtcTPMXX/G7nCWksrdnMPmQyAFRZ78c4LgjkgphXP1Ogs\r\nomFpRNB7TiJhRxY0T1DDfwIH8gKp3wHm3Zw=\r\n=4knt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/url_0.2.0_1657400789032_0.2686821611437238"},"_hasShrinkwrap":false},"0.2.1":{"name":"@aminnairi/url","description":"Match routes and get parameters from urls","version":"0.2.1","homepage":"https://github.com/aminnairi/url#readme","license":"GPL-3.0-or-later","main":"./build/index.common.js","browser":"./build/index.browser.js","module":"./build/index.module.js","bugs":{"url":"https://github.com/aminnairi/url/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi/url"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/url.git"},"scripts":{"development":"rollup --config rollup.config.js --environment NODE_ENV:development --watch","production":"rollup --config rollup.config.js --environment NODE_ENV:production","test":"jest"},"devDependencies":{"@babel/core":"7.18.6","@babel/preset-env":"7.18.6","babel-jest":"28.1.2","jest":"28.1.2","rollup":"2.76.0","rollup-plugin-terser":"7.0.2"},"gitHead":"29d6a611deb3847f29b3134e6f4efeadcfb2378d","_id":"@aminnairi/url@0.2.1","_nodeVersion":"18.3.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-vaYPkCSQ5oZ3vmUL+KzfkTsy+0xKJdvm0YXPnRzCfDKePVAEsnrTLREyQQkHiAHIYg8c9nOP9fA/NEubQgE+6g==","shasum":"e24201814918625f432b1a77027c405dc1c81b3f","tarball":"https://registry.npmjs.org/@aminnairi/url/-/url-0.2.1.tgz","fileCount":6,"unpackedSize":41690,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2XY3FmSBNWHfKuOk+BWbiLMJYzxnRE0R9/0lBeRSqkAiAY+c/CFNTb7P8WOkNeIWLIPWFCw5xX6DZWyimE0YbgAQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyyMgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqE8A/+JMTMSxmU5DpMriTCZikfkSgutFxB7cvg6yKE7vuunmrFGX3W\r\nNk+Gsoz7hQGHKnS7CRLNrwniydzTR4Qr06fgboCkTsS6NUbOfcXyNsouIyUq\r\nz7NTtNVR8mUIINSiIuIygp7WCv9A1UBeiUK+TfR7oIrOM3MVV7pWKVIJLkGZ\r\n5QbQpKb7eanb7WHQnwWM/wEU/ckkygSAYQ7ePS6aeH44kl2dAWcJZmcrGehw\r\neO4JGM6XIJFOEKAU3IFG0shui9/NMk+OnZvJ1Ydf3JzeOgcQwx7QlZ1c1bGk\r\npCXSxOY9fNlgbBJsht6RSg6usvtHHEZdyfHJWK8NAp7MyLxe+hGqP3X1l0U1\r\nVqZgKoK/vGQmxVU0UsII3WtlRB0KdWqhqpUNXzbPev7SL/sWdvS7HxJBzAaj\r\nsdthjv5aSawkrD19niaDSIYC/mGmAgd2FXGBYRjfg4DeUphYXv+O/KMPvR6V\r\nNCne39Gyi3pV03upx+4ikVZTVnFeD6xNF7hKC+VRZkU3bquYifIbppsrMIUU\r\nwQbNhxmVFVKJLTzMs6SvOMQnmeLcskWywbDaZtH4sym1LwgoAEVbAVVgALGn\r\nSkjNz0X2zWwTUH1vu3Abe9gNwkwPouxgl8aEljHboCQlNxdovvmkZuCUgL2/\r\n9nldRAh3pntOj+lH72lLJGPJLAm1js9Asr0=\r\n=Ucjo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/url_0.2.1_1657479968178_0.9056524852071488"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-09T20:53:25.926Z","0.1.0":"2022-07-09T20:53:26.176Z","modified":"2022-07-10T19:06:08.401Z","0.2.0":"2022-07-09T21:06:29.227Z","0.2.1":"2022-07-10T19:06:08.331Z"},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"description":"Match routes and get parameters from urls","homepage":"https://github.com/aminnairi/url#readme","repository":{"type":"git","url":"git+https://github.com/aminnairi/url.git"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi/url"},"bugs":{"url":"https://github.com/aminnairi/url/issues"},"license":"GPL-3.0-or-later","readme":"# @aminnairi/url\n\nUtility functions to help you work with urls.\n\n[![Continuous Integration](https://github.com/aminnairi/url/actions/workflows/continuous_integration.yaml/badge.svg)](https://github.com/aminnairi/url/actions/workflows/continuous_integration.yaml)\n\n## Usage\n\n### Node\n\n#### ECMAScript Module\n\n```bash\nnpm install @aminnairi/url\n```\n\n```javascript\nimport {isMatchingPath, getMatchingPathParameters} from \"@aminnairi/url\";\n\nconsole.log(isMatchingPath(\"/users/:user\", \"/users/123\"));\n\nconsole.log(getMatchingPathParameters(\"/users/:user\", \"/users/123\"));\n// {user: \"123\"}\n```\n\n#### CommonJS\n\n```bash\nnpm install @aminnairi/url\n```\n\n```javascript\nconst {isMatchingPath, getMatchingPathParameters} = require(\"@aminnairi/url\");\n\nconsole.log(isMatchingPath(\"/users/:user\", \"/users/123\"));\n// true\n\nconsole.log(getMatchingPathParameters(\"/users/:user\", \"/users/123\"));\n// {user: \"123\"}\n```\n\n### Browser\n\n#### ECMAScript Module\n\n```html\n<!DOCTYPE html>\n<html lang=\"en-US\">\n  <head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta name=\"description\" content=\"@aminnairi/url\">\n    <meta name=\"theme-color\" content=\"#ffffff\">\n    <title>@aminnairi/url</title>\n  </head>\n  <body>\n    <script type=\"module\">\n      import {isMatchingPath, getMatchingPathParameters} from \"https://unpkg.com/@aminnairi/url?module\";\n\n      console.log(isMatchingPath(\"/users/:user\", \"/users/123\"));\n\n      console.log(getMatchingPathParameters(\"/users/:user\", \"/users/123\"));\n    </script>\n  </body>\n</html>\n```\n\n#### Script\n\n```html\n<!DOCTYPE html>\n<html lang=\"en-US\">\n  <head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta name=\"description\" content=\"@aminnairi/url\">\n    <meta name=\"theme-color\" content=\"#ffffff\">\n    <title>@aminnairi/url</title>\n  </head>\n  <body>\n    <script src=\"https://unpkg.com/@aminnairi/url\"></script>\n    <script>\n      const {isMatchingPath, getMatchingPathParameters} = window[\"@aminnairi/url\"];\n\n      console.log(isMatchingPath(\"/users/:user\", \"/users/123\"));\n\n      console.log(getMatchingPathParameters(\"/users/:user\", \"/users/123\"));\n    </script>\n  </body>\n</html>\n```\n\n## Documentation\n\n### isMatchingPath\n\n#### Signature\n\n```typescript\nconst isMatchingPath = (path: string, url: string) => boolean;\n```\n\n#### Examples\n\n```javascript\nisMatchingPath(null, \"/\");\n// false\n\nisMatchingPath(\"/\", null);\n// false\n\nisMatchingPath(\"/\", \"/\");\n// true\n\nisMatchingPath(\"\", \"/\");\n// true\n\nisMatchingPath(\"/\", \"\");\n// true\n\nisMatchingPath(\"/\", \"/users\");\n// false\n\nisMatchingPath(\"/users/:user\", \"/users/123\");\n// true\n\nisMatchingPath(\"/users/:user\", \"/posts/123\");\n// false\n\nisMatchingPath(\"/users/:user\", \"/users/123/posts\");\n// false\n\nisMatchingPath(\"/users/:user/posts/:post\", \"/users/123/posts/456\");\n// true\n```\n\n### getMatchingPathParameters\n\n#### Signature\n\n```typescript\nconst getMatchingPathParameters = (path: string, url: string) => Record<string, string>;\n```\n\n#### Examples\n\n```javascript\ngetMatchingPathParameters(null, \"/\");\n// {}\n\ngetMatchingPathParameters(\"/\", null);\n// {}\n\ngetMatchingPathParameters(\"/\", \"/\");\n// {}\n\ngetMatchingPathParameters(\"\", \"/\");\n// {}\n\ngetMatchingPathParameters(\"/\", \"\");\n// {}\n\ngetMatchingPathParameters(\"/\", \"/users\");\n// {}\n\ngetMatchingPathParameters(\"/users/:user\", \"/users/123\");\n// {user: \"123\"}\n\ngetMatchingPathParameters(\"/users/:user\", \"/posts/123\");\n// {}\n\ngetMatchingPathParameters(\"/users/:user\", \"/users/123/posts\");\n// {}\n\ngetMatchingPathParameters(\"/users/:user/posts/:post\", \"/users/123/posts/456\");\n// {user: \"123\", post: \"456\"}\n```\n\n## Changelog\n\nSee [`CHANGELOG.md`](https://github.com/aminnairi/url/blob/development/CHANGELOG.md).\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](https://github.com/aminnairi/url/blob/development/CONTRIBUTING.md).\n\n## License\n\nSee [`LICENSE`](https://github.com/aminnairi/url/blob/development/LICENSE).\n","readmeFilename":"README.md"}