Files
Virtual-Box/.npm/_cacache/content-v2/sha512/9b/76/bc87fe1dd01422bde256b0790796dd933728a08f98b4a24a04a511bccb1ac765c5c7c51594d5c1bf09033fc6136bf45c2e9653ffaa75eaad77fa2999b36a
2025-12-02 16:27:21 +00:00

1 line
21 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"_id":"parseuri","_rev":"29-2f367946a0dbb7b1e861956eb7e57cf8","name":"parseuri","description":"Mighty but tiny URI parser","dist-tags":{"latest":"3.0.2"},"versions":{"0.0.1":{"name":"parseuri","version":"0.0.1","description":"Method that parses a URI and returns an array of its components","main":"./lib/parseuri.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"parseuri":"./bin/parseuri"},"dependencies":{},"devDependencies":{},"optionalDependencies":{},"author":"","license":"MIT","_id":"parseuri@0.0.1","dist":{"shasum":"1f76aaa4a04cc927f872da463608fc12108eb9be","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.1.tgz","integrity":"sha512-gMJuyzGd+5Cm6iNX92JmfHESQqSoOGA1Zu0tt4dc6CbeSswZ0z+aqVJhtnNIQ1csXjgv113DNaZyBB4znJBsGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHczVh60/r6h+kKr4n2WjfXVMLY3VeKuvCnwsbkW6YK4AiEAgWX7iDgzUhx3fYPkecm7963OvA+4rUoIkjeBDv8QM50="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.2":{"name":"parseuri","version":"0.0.2","description":"Method that parses a URI and returns an array of its components","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"_id":"parseuri@0.0.2","dist":{"shasum":"db41878f2d6964718be870b3140973d8093be156","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz","integrity":"sha512-m0H+R0u5LXOx8sbxufnvgKrRLpkVpvtMf0AyWXYSqLwo2MWrVEgCIbgpaSVa398xl6wTLe0A7CGhiC4hBdEzHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzOjalmgwuyx2sDiuP7UcWuuXyH9xHOVBUNZ0enr19dgIhALoz+8KawQ4L73C+v61fsiPAwopB3lqfxcG4ysCcItIz"}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.3":{"name":"parseuri","version":"0.0.3","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.3","dist":{"shasum":"28d442d488a8e218194f535f5040f451d4282b32","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.3.tgz","integrity":"sha512-4hO2G/BPpwRtYuM/t+y2tEsr2d1q3898Vu0L8XuMoTmt0JVl8JKcJBcxFuNo+W38/UeZqnnVhfqSYvzfmGtVhQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9CwkB/1lypv9oXYfRcc2JqQKKo5JQHHo+uxTtQelq/gIhAJ3kgVLeH0976Z1lM5NZp7XPjeeaTdWI0NuXjtcpn8Yj"}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.4":{"name":"parseuri","version":"0.0.4","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.4","dist":{"shasum":"806582a39887e1ea18dd5e2fe0e01902268e9350","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz","integrity":"sha512-9pW0ZCCDtEIzW7beHfLg2N13pgctOVRq1Z+1PKdpsF4wD9GhYUMAAxBhmPRPVVy1fg2z+eH/8uw8dgA0j9DNzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4tA2qfT88q4UI6WYetk6/BKeZ1egcnZKbjr84b1ajdwIgWEKvK/e+9pA2vkj1qcyWHmRiL3y6FwwhK5rUtXWXAdw="}]},"_from":".","_npmVersion":"1.3.15","_npmUser":{"name":"gal","email":"koren@mit.edu"},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{}},"0.0.5":{"name":"parseuri","version":"0.0.5","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"git+https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"mocha":"1.17.1","better-assert":"1.0.0"},"author":"","license":"MIT","dependencies":{"better-assert":"~1.0.0"},"gitHead":"792c9a63162a4484eb6b4f95fc611ccf224a24b6","bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.5","_shasum":"80204a50d4dbb779bfdc6ebe2778d90e4bce320a","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"gal","email":"koren@mit.edu"},"dist":{"shasum":"80204a50d4dbb779bfdc6ebe2778d90e4bce320a","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz","integrity":"sha512-ijhdxJu6l5Ru12jF0JvzXVPvsC+VibqeaExlNoMhWN6VQ79PGjkmc7oA4W1lp00sFkNyj0fx6ivPLdV51/UMog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANaUofrjfZfdpd/RuBHRoxxAxzN/UHO/37OVY1eud6jAiEAlsfKgEDWJJp/jFtTuPci8Ifa1JzbeVehPs4f+vqB3+s="}]},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/parseuri-0.0.5.tgz_1477582137634_0.3768787120934576"},"directories":{}},"0.0.6":{"name":"parseuri","version":"0.0.6","description":"Method that parses a URI and returns an array of its components","repository":{"type":"git","url":"git+https://github.com/get/parseuri.git"},"homepage":"https://github.com/get/parseuri","scripts":{"test":"make test"},"devDependencies":{"better-assert":"~1.0.0","mocha":"1.17.1","expect.js":"^0.3.1"},"author":{"name":"Gal Koren"},"license":"MIT","gitHead":"ad9e2495173e763ab9edc46a5c15f89c324455d9","bugs":{"url":"https://github.com/get/parseuri/issues"},"_id":"parseuri@0.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"gal","email":"koren@mit.edu"},"dist":{"integrity":"sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==","shasum":"e1496e829e3ac2ff47f39a4dd044b32823c4a25a","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz","fileCount":7,"unpackedSize":5914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgk76CRA9TVsSAnZWagAAnH8QAKKlQVaYBSSLcgxCzG/I\nlaiQ7vIoQpIcdSvIzTmmzzyy6szz8uzSa/Ad/Shxbf96kAhWAmYjNtELFCrx\nGs4VEtCw1wz007GsNGu//DUGXmADC7x8J13VJh5tVX9u+N5/8cYjP7MVHBIY\nkcvzlKi5omUW81w0tOe0lGxhs6/Dg31rKdTkmB0LTMPArLbutrEHIxLekc4S\n1LdLfIetpBVK8ZqOS34OLPjAThkH4MiOxrNwoQRR1uQtvxza3zuJ9BvugKRr\n0g6kulpYrx54XxxTJx/APgq4ve3U690Y1y9aQ5XnEqTaLR/X+jMpp2r/bY1r\n4Guv1EsfqmztHcRWXGQ0p/YUJ6eLsmufkGLoUsbnFoT6AnjC13Mao588lk9L\nMWlLjTTGkgfZmY9x92NPnRaBiC8VM0Yv7/mvFIKno9BfSIS1m7++KrgreUls\npFP6uX6QsYlqPaFfrhPqZ91Jh0sXvhqDLvwYugk0EquBCu9LRyFkoICbh7rE\nmOf1r0LGmihHLhDNNcHc0ZRI7n0eUcQfgsmAxjMgW7hKY4MB7vA/mQe+eT7m\nNQ4oqcGj6G1cur5CjlMG0RfVUyxv5x73JbO0I/OMJsssS2qk/tGhJxcV8XrJ\ns2zUYj7Xnux5p2CJo+YrjHuP31Ux28RjzCN98J3VwbJt7TfytR35r1xJ5w/c\nDLdD\r\n=J2vk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7VGfp0FWqs8at082tLN3RLM27n7JqPLmpqKb1ahQxKAiAo1UFffKWa6i//5WTqpVL8fMyRcuMCtBIXcuMq0Jwdug=="}]},"maintainers":[{"name":"gal","email":"koren@mit.edu"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_0.0.6_1568820986115_0.7809546772297578"},"_hasShrinkwrap":false},"3.0.1":{"name":"parseuri","version":"3.0.1","description":"Mighty but tiny URI parser","homepage":"https://slevithan.github.io/parseuri/demo/","main":"src/index.js","type":"module","scripts":{"build":"esbuild src/index.js --bundle --minify --outfile=dist/parseuri.min.js --global-name=parseUri --footer:js=parseUri.parseUri.setTlds=parseUri.setTlds;globalThis.parseUri=parseUri.parseUri;","pretest":"npm run build","test":"jasmine","prepublish":"npm test"},"author":{"name":"Steven Levithan"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"keywords":["uri","url","urn"],"devDependencies":{"esbuild":"^0.21.3","jasmine":"^5.1.0"},"_id":"parseuri@3.0.1","gitHead":"8645f913bc232339fee562cd7094de781fe93b51","bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"_nodeVersion":"21.7.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-zdrHA3BP2iREUXdW/9oPCKERrn+ybrrzeQjShnQMIpuFquW9nXuGvqwYUqCnjsnlUP3W7jSuYSIoxLbAARnhhA==","shasum":"928c7513f69f70c4420a76da5530f2c1614d9989","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-3.0.1.tgz","fileCount":23,"unpackedSize":113189,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEzfXN48m0yd0SpSxqz0uiwMuOcqSzHdhTzubIo7oy9AiEAxJNFrML8annqbZr4iwNrl3zb23GeObI6fL4QpN/kg8w="}]},"_npmUser":{"name":"slevithan","email":"steves_list@hotmail.com"},"directories":{},"maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_3.0.1_1716417023462_0.004743029253144959"},"_hasShrinkwrap":false},"3.0.2":{"name":"parseuri","version":"3.0.2","description":"Mighty but tiny URI parser","homepage":"https://slevithan.github.io/parseuri/demo/","exports":"./src/index.js","type":"module","scripts":{"build":"esbuild src/index.js --bundle --minify --outfile=dist/parseuri.min.js --global-name=parseUri --footer:js=parseUri.parseUri.setTlds=parseUri.setTlds;globalThis.parseUri=parseUri.parseUri;","pretest":"npm run build","test":"jasmine","prepublish":"npm test"},"author":{"name":"Steven Levithan"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"keywords":["uri","url","urn"],"devDependencies":{"esbuild":"^0.21.3","jasmine":"^5.1.0"},"_id":"parseuri@3.0.2","gitHead":"34f6a96d9110ce08ea156da58f1b7bfe83853ddc","bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"_nodeVersion":"22.2.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-eNmfF+mj9fyyZFFW9keXPsIscduBQub8oqnXXPYnl6hGs6P0mshf9ArriI9vB6w08GuuzgQnTWRrWWDTeoCLEQ==","shasum":"dc12f44d01a10331b002e99779246320c08dce52","tarball":"https://registry.npmjs.org/parseuri/-/parseuri-3.0.2.tgz","fileCount":22,"unpackedSize":111247,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/TffbQKeJ6NagrUa+hL5ghX3xEo1maWo/+ab3tbXvSAiEAsRbQ7k1CEl9V0Q4FxbnfVcN1sWHXBVD/fONBbbg3iRs="}]},"_npmUser":{"name":"slevithan","email":"steves_list@hotmail.com"},"directories":{},"maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parseuri_3.0.2_1716519306679_0.34461780259944663"},"_hasShrinkwrap":false}},"readme":"# parseUri\n\n`parseUri` is a mighty but tiny JavaScript URI/URN/URL parser that splits any URI into its parts (all of which are optional). Its combination of accuracy, comprehensiveness, and brevity is unrivaled (1KB min/gzip, with no dependencies).\n\n## Breaking changes\n\nVersion 2 was a major, breaking change that probably requires updating URI part names in your code. See details in the [release notes](https://github.com/slevithan/parseuri/releases/tag/v2.0.0) and compare results on the [demo page](https://slevithan.github.io/parseuri/demo/?compareV1=true&friendlyMode=true). Version 3 was a small update published on npm as pure ESM.\n\n## Compared to the `URL` constructor\n\n`parseUri` includes several advantages over the built-in [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL):\n\n* It gives you many additional properties (`authority`, `userinfo`, `subdomain`, `domain`, `tld`, `resource`, `directory`, `filename`, `suffix`) that arent available from `URL`.\n* `URL` throws e.g. if not given a protocol, and in many other cases of valid (but not supported) and invalid URIs. `parseUri` makes a best case effort even with partial or invalid URIs and is extremely good with edge cases.\n* `URL`s rules dont allow correctly handling many non-web protocols. For example, `URL` doesnt throw on any of `'git://localhost:1234'`, `'ssh://myid@192.168.1.101'`, or `'t2ab:///path/entry'`, but it also doesnt get their details correct since it treats everything after `<non-web-protocol>:` up to `?` or `#` as part of the `pathname`.\n* `parseUri` includes a “friendly” parsing mode (in addition to its default mode) that handles human-friendly URLs like `'example.com/file.html'` as expected.\n* `parseUri` supports providing a list of second-level domains that should be treated as part of the top-level domain (ex: `co.uk`).\n\nConversely, `parseUri` is single-purpose and doesnt apply normalization.\n\nThe [demo page](https://slevithan.github.io/parseuri/demo/?urlStandard=true) allows easily comparing with `URL`s results.\n\n## Results / URI parts\n\nReturns an object with 20 URI parts as properties plus `queryParams`, a [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) object that includes methods `get(key)`, `getAll(key)`, etc.\n\nHeres an example of what each part contains:\n\n```text\n┌──────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n│ href │\n├────────────────────────────────────────────────────────────────┬─────────────────────────────────────────┤\n│ origin │ resource │\n├──────────┬─┬───────────────────────────────────────────────────┼──────────────────────┬───────┬──────────┤\n│ protocol │ │ authority │ pathname │ query │ fragment │\n│ │ ├─────────────────────┬─────────────────────────────┼───────────┬──────────┤ │ │\n│ │ │ userinfo │ host │ directory │ filename │ │ │\n│ │ ├──────────┬──────────┼──────────────────────┬──────┤ ├─┬────────┤ │ │\n│ │ │ username │ password │ hostname │ port │ │ │ suffix │ │ │\n│ │ │ │ ├───────────┬──────────┤ │ │ ├────────┤ │ │\n│ │ │ │ │ subdomain │ domain │ │ │ │ │ │ │\n│ │ │ │ │ ├────┬─────┤ │ │ │ │ │ │\n│ │ │ │ │ │ │ tld │ │ │ │ │ │ │\n\" https :// user : pass @ sub1.sub2 . dom.com : 8080 /p/a/t/h/ a.html ? q=1 # hash \"\n└──────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n> If this chart doesnt appear correctly, view it on [GitHub](https://github.com/slevithan/parseuri/blob/main/README.md#results--uri-parts).\n\n`parseUri` additionally supports IPv4 and IPv6 addresses, URNs, and many edge cases not shown here. See the extensive [tests](https://slevithan.github.io/parseuri/spec/).\n\n## Parsing modes\n\n`parseUri` has two parsing modes: default and friendly. The default mode follows official URI rules. Friendly mode doesnt require `'<protocol>:'`, `':'`, or `'//'` to signal the start of an authority, which allows handling human-friendly URLs like `'example.com/file.html'` as expected. This change has several effects:\n\n- It allows starting a URI with an authority (as noted above).\n- It precludes friendly mode from properly handling relative paths (that dont start from root `'/'`) such as `'dir/file.html'`.\n- Since the web protocols `http`, `https`, `ws`, `wss`, and `ftp` dont require `'//'`, this also means that friendly mode extends this behavior to non-web protocols.\n\n## Examples\n\n```js\nlet uri = parseUri('https://a.b.example.com:80/@user/a/my.img.jpg?q=x&q=#hash');\nuri.protocol // → 'https'\nuri.host // → 'a.b.example.com:80'\nuri.hostname // → 'a.b.example.com'\nuri.subdomain // → 'a.b'\nuri.domain // → 'example.com'\nuri.port // → '80'\nuri.resource // → '/@user/a/my.img.jpg?q=x&q=#hash'\nuri.pathname // → '/@user/a/my.img.jpg'\nuri.directory // → '/@user/a/'\nuri.filename // → 'my.img.jpg'\nuri.suffix // → 'jpg'\nuri.query // → 'q=x&q='\nuri.fragment // → 'hash'\nuri.queryParams.get('q') // → 'x'\nuri.queryParams.getAll('q') // → ['x', '']\nuri.queryParams.get('not-present') // → null\nuri.queryParams.getAll('not-present') // → []\n// Also available: href, origin, authority, userinfo, username, password, tld\n\n// Relative path (not starting from root /)\nuri = parseUri('dir/file.html?q=x');\nuri.hostname // → ''\nuri.directory // → 'dir/'\nuri.filename // → 'file.html'\nuri.query // → 'q=x'\n\n// Friendly mode allows starting with an authority\nuri = parseUri('example.com/file.html', 'friendly');\nuri.hostname // → 'example.com'\nuri.directory // → '/'\nuri.filename // → 'file.html'\n\n// IPv4 address\nuri = parseUri('ssh://myid@192.168.1.101');\nuri.protocol // → 'ssh'\nuri.username // → 'myid'\nuri.hostname // → '192.168.1.101'\nuri.domain // → ''\n\n// IPv6 address\nuri = parseUri('https://[2001:db8:85a3::7334]:80?q=x');\nuri.hostname // → '[2001:db8:85a3::7334]'\nuri.port // → '80'\nuri.domain // → ''\nuri.query // → 'q=x'\n\n// Mailto\nuri = parseUri('mailto:first@my.com,second@my.com?subject=Hey&body=Sign%20me%20up!');\nuri.protocol // → 'mailto'\nuri.username // → ''\nuri.hostname // → ''\nuri.pathname // → 'first@my.com,second@my.com'\nuri.query // → 'subject=Hey&body=Sign%20me%20up!'\nuri.queryParams.get('body') // → 'Sign me up!'\n\n// Mailto in friendly mode\nuri = parseUri('mailto:me@my.com?subject=Hey', 'friendly');\nuri.protocol // → 'mailto'\nuri.username // → 'me'\nuri.hostname // → 'my.com'\nuri.pathname // → ''\n\n/* Also supports e.g.:\n- https://[2001:db8:85a3::7334%en1]/ipv6-with-zone-identifier\n- git://localhost:1234\n- file:///path/file\n- tel:+1-800-555-1212\n- urn:uuid:c5542ab6-3d96-403e-8e6b-b8bb52f48d9a?q=x\n*/\n```\n\nUse the [demo page](https://slevithan.github.io/parseuri/demo/) to easily test and compare results.\n\n## Install\n\n```bash\nnpm install parseuri\n```\n\n## Use\n\n```js\nimport { parseUri, setTlds } from 'parseuri';\n```\n\nIn browsers:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/parseuri/dist/parseuri.min.js\"></script>\n<script>\n console.log(parseUri('https://example.com/'));\n // If needed, use `parseUri.setTlds`\n</script>\n```\n","maintainers":[{"name":"slevithan","email":"steves_list@hotmail.com"},{"name":"gal","email":"galkrn@gmail.com"}],"time":{"modified":"2024-05-24T02:55:07.023Z","created":"2014-02-09T18:38:17.833Z","0.0.1":"2014-02-09T18:40:42.208Z","0.0.2":"2014-02-09T19:22:25.004Z","0.0.3":"2014-07-04T03:39:01.363Z","0.0.4":"2014-07-20T00:10:40.568Z","0.0.5":"2016-10-27T15:29:00.405Z","0.0.6":"2019-09-18T15:36:26.251Z","3.0.1":"2024-05-22T22:30:23.668Z","3.0.2":"2024-05-24T02:55:06.846Z"},"readmeFilename":"README.md","users":{"h02e56":true,"zenanyoo":true},"license":"MIT","homepage":"https://slevithan.github.io/parseuri/demo/","repository":{"type":"git","url":"git+https://github.com/slevithan/parseuri.git"},"bugs":{"url":"https://github.com/slevithan/parseuri/issues"},"author":{"name":"Steven Levithan"},"keywords":["uri","url","urn"]}