{"_id":"amazon-s3-uri","_rev":"13-4dd485a02e57611b9a86c403515799b8","name":"amazon-s3-uri","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"amazon-s3-uri","version":"0.0.1","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier"},"license":"MIT","_id":"amazon-s3-uri@0.0.1","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"3ffa5dbef1100186df7022d409872591e6b082ab","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.0.1.tgz","integrity":"sha512-GhkwjkD9lXfarDZUpfqkf/wCDCccCrv8REJgAH/N2HYDYepGGqdKXM8ItFw1/qqE3+9ijcIOe1Q/oPJLTd7LfQ==","signatures":[{"sig":"MEYCIQCtolE5VoybgV02835YKIMTf+Id33/nGShudB0xxPFrPgIhANbbXvOjCrJIf2vkCYguADkqxzAs3wyysKd06t3l7tc2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/amazon-s3-uri.js","_from":".","_shasum":"3ffa5dbef1100186df7022d409872591e6b082ab","engines":{"node":">=5.0.0"},"gitHead":"8e7b4114af36c668466888f056740e25f2af5947","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","posttest":"nyc report --reporter=lcov"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"3.10.9","description":"lib/amazon-s3-uri","directories":{},"_nodeVersion":"6.9.1","devDependencies":{"nyc":"^8.3.2","tape":"^4.6.2","standard":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri-0.0.1.tgz_1477469886428_0.8728516716510057","host":"packages-18-east.internal.npmjs.com"}},"0.0.2":{"name":"amazon-s3-uri","version":"0.0.2","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier"},"license":"MIT","_id":"amazon-s3-uri@0.0.2","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"79d4d62bc8ffbd453c6ac2f8b02d924875ff6236","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.0.2.tgz","integrity":"sha512-x6p/1GpFjXDnisHQ8HDT+qY8+4RN4zgqGhmYtRfEP3Yj9qHhCdyrFPyfW39sBaGSder2ELSr3WNVQhZG5Wo5tw==","signatures":[{"sig":"MEQCIDaNW3K0a3ArZ3jYnK6vU7qDkpxGa3Pd0X6ULNNCq2v8AiBZ4OZeHfK/WOySbmxJUPsJ8m1Z9x71frDBTnJmCVuULQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/amazon-s3-uri.js","_from":".","_shasum":"79d4d62bc8ffbd453c6ac2f8b02d924875ff6236","engines":{"node":">=5.0.0"},"gitHead":"da54276c67faf2739f43173c7842419d768d6fa1","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","posttest":"nyc report --reporter=lcov"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"3.10.9","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"6.9.1","devDependencies":{"nyc":"^8.3.2","tape":"^4.6.2","standard":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri-0.0.2.tgz_1477470949915_0.3913713314104825","host":"packages-18-east.internal.npmjs.com"}},"0.0.3":{"name":"amazon-s3-uri","version":"0.0.3","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","_id":"amazon-s3-uri@0.0.3","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"dc189800d25f290eb1342a85741b9d2c917572c1","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.0.3.tgz","integrity":"sha512-QVHnWIiURX22rlL0VYuVIsl9vxzU0URQ/Fa3/KK1upA+0N3xbpk1nGzAv9iymovYUnnDWNKicw6vHEYulwVtug==","signatures":[{"sig":"MEYCIQCSkNOchnpJurco59AnbjGrGL7Ik/LFlb7vNvaaf0ZWBAIhAIw2H8kfoSAKhn3eS+gCa66RLszA9OTKIpO9ULDNL18W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/amazon-s3-uri.js","_from":".","_shasum":"dc189800d25f290eb1342a85741b9d2c917572c1","engines":{"node":">=5.0.0"},"scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","posttest":"publish"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"2.15.12","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"5.0.0","devDependencies":{"nyc":"^8.3.2","tape":"^4.6.2","publish":"0.6.0","standard":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri-0.0.3.tgz_1502461727722_0.629176088841632","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"amazon-s3-uri","version":"0.1.0","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","_id":"amazon-s3-uri@0.1.0","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"a365b532ea348914d6d8cc36144b2a44e34b7a55","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.1.0.tgz","fileCount":10,"integrity":"sha512-9zgMz3JnN19Zi3mWMa2T8kQqd0arn71lF1RdLgdRHVWdPDEw7ktmk5cYOttPqvnPLvRWL32ZeiLcJCA9poBoGg==","signatures":[{"sig":"MEQCIBBp9cqNermvMFoNq/89nq1yp1iY5b6Dlf2JtGH1fhOJAiBSgboIYGYQrq9DnBjTBXfTTaHHKM+P8UpIJvPXrbcDQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfeHOBCRA9TVsSAnZWagAAOvMP/2Puvnjnojom81wCHVkF\nC3DF6P8rKXdaTpIhZBBdF+hDje6rg+ilq5/NiQYEHxrSfOKEVAF/gNOz8+xS\nDvuJsLSFmoe48KFAQd0MKEOWLMn+IfBqxkTrcSb6RCEcu0ES7fr+2c0/vjiY\nm5ahfUQixUn79YEsLRbqBdA0pkJ0pNt14ppc6EdbLMwln2l23qRQJ/pE0Ewj\nEUlVwP8BGyVh56RvC/oIFfbpg2Y86XXzCpCLbWNH3wMjc/whfLML8Gmu98bD\nuOmOCPT6wAcozZ7Z6e0Z/bTPTBg7lcXuzZnHb+lyckKYKgyZvoEf7jzwiZpK\npPgrarJvci1/yqZ/JQEINgjvV7a5eP2hmpuybCADGcQDc05/sThhwumWzO3C\na8Bt/BhF78WCN019sx4mL42PkhvSet3Ognj4hQFzx8dtMvCIjSn5gSNICTG6\nrJ8zAz5kuLEeqoAxR1ThaeyJWt/x84RA3teaBYDfbMCO2HHjjB6Gqdgpa5Pb\nxrn8CuG32+UBNDi9bj/BaDohLpM4j1O8J/jFGShjQsGH3ktU4jS1isxTLU3P\nreL4Vs+FJxU6ehGBg9WL6eO7u+iAhXCXluT01C5aRM7plMiVndjIze62dHOq\nCbUIWX6mJ3HHtfoIR9prBlsQy/920TeWQJmuNowPQMCgi4wRtrFaZJ4LmO+E\nYsox\r\n=p2x0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/amazon-s3-uri.js","types":"index.d.ts","engines":{"node":">=8.10.0"},"gitHead":"052e22193cf3abcf3a0740621f8d88a50455a49c","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","posttest":"nyc report --reporter=lcov","generate-types":"tsc"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"6.14.8","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"12.18.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","sinon":"^9.1.0","standard":"^14.3.4","typescript":"^4.0.3","@types/node":"^14.11.2"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri_0.1.0_1601729409110_0.4636205562653437","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"amazon-s3-uri","version":"0.1.1","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","_id":"amazon-s3-uri@0.1.1","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"37afdfa88352ee0c22ac12ea6417a7c725f2b90b","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.1.1.tgz","fileCount":6,"integrity":"sha512-LklZtJ3lgTFdVpy/5ln0okxdgMdnRmFLRg9FGcJ7DeB5Ez5TCs1DHdmVovcPIxW9tQlA1+QLpGNg1Ig6hv768A==","signatures":[{"sig":"MEUCIHv+DAfEk34mKkHR+i88Y1tTOiSV1X/QwsSQNY9ZcFe9AiEA2/1m4MLTFKzLk7+eA4Y/TDpqsmBSCA//qcQoQ3iJ430=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbDkyCRA9TVsSAnZWagAAG1wP/3S34nyffJ0Df2GDRLor\nZv/plH+ah+eUIEvcUJa73LA7pqFaWc+ubA49Bg+RS5Vyitsw2jF0pGQSiFzF\nUWtL+36yUq0rPj0B+CvS/pngwOeHdL/iNGBcmiR0UjNOAVXMcBJ6Gp+O9mbQ\nfrALpAzNSrYaEnFrbiZCdKLtZwoqQFAoronE1vF6Ok+uhsH0pgv0BUUSks9N\nTVKWwktFzytZ0CTojx8/2hN+PM9OAqb3nWBQTyIjd+BbLzZxDBnCoPFftEY2\nqy8OR1z2odd/3K2mJ2hGum20u/OOSRybR7UP3cRsaUMM74dl40Vm5k+C1ExL\n466U1kD2rtMsXNF2i0pfUc500VuGftOJFTHr7EWWVE+xqC8cO9kNx/UnxTty\nVXhFVxc3sdpdg85ffrlPCcSKw98acCDVMkoGi4fzlK8TanpKqigozl3fiGqx\noFkzLy26Ba37ywnMTtY+otilbt6MJUNrRe8a6ETWIUPELYFE9l/t9DRe6tDM\nbUAjMeLmOHDkHGWshR8v++j5klXPOcdKSOau6HFtP+kH14cJxWxSia0yTEW1\nO3B364fyB7RZd0/yo9wZFiHB9QTx6gWSY5ID082fTWHtRnnvPYii8vlaS1Iu\n4YKRVGsf9SrpA6pXZBHC+FvQ+1GWwgM3o+lMCf7fQQiInCSQ0MFgg/D/wEPi\nY9kS\r\n=hjky\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/amazon-s3-uri.js","types":"index.d.ts","engines":{"node":">=8.10.0"},"gitHead":"8b8c9b02166d87cdbbe50cb92119308c1c219832","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","release":"release-it","posttest":"nyc report --reporter=lcov","generate-types":"tsc"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"6.14.10","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"14.15.4","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","tape":"^5.0.1","sinon":"^10.0.0","standard":"^14.3.4","release-it":"^14.5.1","typescript":"^4.0.3","@types/node":"^14.11.2"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri_0.1.1_1617705266449_0.2885176121960231","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"amazon-s3-uri","version":"0.2.0","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","_id":"amazon-s3-uri@0.2.0","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"14aec078cc4e7e0778a381b7999a1b0f7ad83e01","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.2.0.tgz","fileCount":5,"integrity":"sha512-uw9pdj9h8cwgGj7OczfzjI4ypjSZZ9upYjbUfvZakTbtv4FpSXm46q0+dXGYqOjI7988PMPAkOofHfrCM/lx0w==","signatures":[{"sig":"MEQCIBme2BXpMI7a7RhDa9JhTx5D3fUjkwJKokj55DTMsNAMAiBxl/lxWLS+534gYBlI6ketMnp7LTVH5KNwRNT0lxJE5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11077},"main":"lib/amazon-s3-uri.js","types":"index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c868c903742a21ac0d4527b445441b68f8572282","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","release":"release-it","posttest":"nyc report --reporter=lcov","generate-types":"tsc"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"10.8.2","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","tape":"^5.9.0","sinon":"^21.1.2","standard":"^17.1.2","release-it":"^20.0.1","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri_0.2.0_1777542274094_0.7304636519328609","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"amazon-s3-uri","version":"0.3.0","keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","_id":"amazon-s3-uri@0.3.0","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"homepage":"https://github.com/frantz/amazon-s3-uri#readme","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"dist":{"shasum":"3ab8f43b7cc4c95335ea7b1d7c14af30b048cc2b","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-0.3.0.tgz","fileCount":5,"integrity":"sha512-MmDM89zPZFITpds7gm2lU6+Ve1DdtsQETJiTHDwZc8QKPyIetLaSEUYlNTYJgOKUX6h0mRghsOffZXfNu/WofA==","signatures":[{"sig":"MEYCIQC9krkRtd7dJpBJ5/rQEs68xO2EYn9aeRFAfOiAvOySKQIhAMTfoRg3qvNaZZknbxY7ufyxYcnugJmDDb3WtoZzYPWb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14987},"main":"lib/amazon-s3-uri.js","types":"index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4c3c52c601f6536c7a8963e6242ea77e78618240","scripts":{"test":"nyc tape 'test/**/*.test.js'","pretest":"standard ./lib","release":"release-it","posttest":"nyc report --reporter=lcov","generate-types":"tsc"},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"repository":{"url":"git+https://github.com/frantz/amazon-s3-uri.git","type":"git"},"_npmVersion":"10.8.2","description":"A URI wrapper that can parse out information about an S3 URI","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","tape":"^5.9.0","sinon":"^21.1.2","standard":"^17.1.2","release-it":"^20.0.1","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/amazon-s3-uri_0.3.0_1777559574960_0.25829312335014865","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"amazon-s3-uri","version":"1.0.0","description":"A URI wrapper that can parse out information about an S3 URI","repository":{"type":"git","url":"git+https://github.com/frantz/amazon-s3-uri.git"},"main":"lib/amazon-s3-uri.js","types":"index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"pretest":"standard ./lib","test":"nyc tape 'test/**/*.test.js'","posttest":"nyc report --reporter=lcov","generate-types":"tsc","release":"release-it"},"keywords":["aws","s3","uri","parser"],"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","devDependencies":{"@types/node":"^25.6.0","nyc":"^18.0.0","release-it":"^20.0.1","sinon":"^21.1.2","standard":"^17.1.2","tape":"^5.9.0","typescript":"^6.0.3"},"_id":"amazon-s3-uri@1.0.0","gitHead":"990baa2af9f332e85ab3be5c0d633ea85cc626b7","bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"homepage":"https://github.com/frantz/amazon-s3-uri#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-8E+yGPTEOXWZjECwhUjXX1a9shFvZKZGNsADA9u5cXvQOZmoqbn2ERb/6b9h8GoayC450dKpI8RFUL/CemWikA==","shasum":"2b00a2ab0fed4db19227ace5142d323e858ace7f","tarball":"https://registry.npmjs.org/amazon-s3-uri/-/amazon-s3-uri-1.0.0.tgz","fileCount":5,"unpackedSize":14987,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID/mqy+CSAtkUTL6S7pByMPzWP4VnsBzX//jYHz/J236AiAjZp1ULIkR+Se60DiN4/IOtWYrdFyD0bj9xvBQg83GVQ=="}]},"_npmUser":{"name":"frantz","email":"frantz@myentropy.org"},"directories":{},"maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/amazon-s3-uri_1.0.0_1777560501016_0.9372776839302956"},"_hasShrinkwrap":false}},"time":{"created":"2016-10-26T08:18:08.332Z","modified":"2026-04-30T14:48:21.275Z","0.0.1":"2016-10-26T08:18:08.332Z","0.0.2":"2016-10-26T08:35:52.273Z","0.0.3":"2017-08-11T14:28:48.716Z","0.1.0":"2020-10-03T12:50:09.319Z","0.1.1":"2021-04-06T10:34:26.595Z","0.2.0":"2026-04-30T09:44:34.220Z","0.3.0":"2026-04-30T14:32:55.085Z","1.0.0":"2026-04-30T14:48:21.171Z"},"bugs":{"url":"https://github.com/frantz/amazon-s3-uri/issues"},"author":{"name":"Frantz Gauthier","email":"frantz@myentropy.org"},"license":"MIT","homepage":"https://github.com/frantz/amazon-s3-uri#readme","keywords":["aws","s3","uri","parser"],"repository":{"type":"git","url":"git+https://github.com/frantz/amazon-s3-uri.git"},"description":"A URI wrapper that can parse out information about an S3 URI","maintainers":[{"name":"frantz","email":"frantz@myentropy.org"}],"readme":"# AmazonS3URI\n\n[![Actions Status](https://github.com/frantz/amazon-s3-uri/workflows/test/badge.svg)](https://github.com/frantz/amazon-s3-uri/actions)\n[![codecov](https://codecov.io/gh/frantz/amazon-s3-uri/branch/master/graph/badge.svg)](https://codecov.io/gh/frantz/amazon-s3-uri)\n\nA URI wrapper that can parse out information about an S3 URI.\n\nAdapted from the [AWS Java SDK `AmazonS3URI`](https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/AmazonS3URI.java), with the following differences:\n\n- There is no preprocessing on the given URI string — encode special characters yourself if needed\n- `region` is never `null` for a valid S3 URI; it defaults to `us-east-1`\n\n## Install\n\n```sh\nnpm install amazon-s3-uri\n```\n\n## Usage\n\n```js\nconst AmazonS3URI = require(\"amazon-s3-uri\");\n\nconst { region, bucket, key, isPathStyle, isDualStack, versionId } =\n  AmazonS3URI(\"https://bucket.s3.dualstack.us-east-1.amazonaws.com/key\");\n// region      → 'us-east-1'\n// bucket      → 'bucket'\n// key         → 'key'\n// isPathStyle → false\n// isDualStack → true\n// versionId   → null\n```\n\nWorks both as a constructor and as a plain function call:\n\n```js\nconst a = new AmazonS3URI(\"s3://bucket/key\"); // constructor\nconst b = AmazonS3URI(\"s3://bucket/key\");     // functional — returns a new instance\n```\n\nThrows `TypeError` for non-string input and `Error` for URIs that cannot be parsed as S3 endpoints.\n\n## Parsed properties\n\n| Property      | Type             | Description |\n|---------------|------------------|-------------|\n| `bucket`      | `string \\| null` | Bucket name, or `null` if not present |\n| `key`         | `string \\| null` | Object key, or `null` if not present |\n| `region`      | `string`         | AWS region; defaults to `us-east-1` |\n| `isPathStyle` | `boolean`        | `true` when the bucket is in the path rather than the hostname |\n| `isDualStack` | `boolean`        | `true` when the URI uses an S3 dualstack endpoint |\n| `versionId`   | `string \\| null` | Value of the `versionId` query parameter, or `null` |\n| `uri`         | `object`         | Parsed URL components (`protocol`, `host`, `pathname`, `search`, `query`, `href`, …) |\n\n## Supported URI formats\n\n```\ns3://bucket/key\nhttps://s3.amazonaws.com/bucket/key                           (path-style, global)\nhttps://s3-eu-west-1.amazonaws.com/bucket/key                 (path-style, regional)\nhttps://s3.us-east-1.amazonaws.com/bucket/key                 (path-style, regional)\nhttps://s3.dualstack.us-east-1.amazonaws.com/bucket/key       (path-style, dualstack)\nhttps://bucket.s3.amazonaws.com/key                           (virtual-hosted, global)\nhttps://bucket.s3-eu-west-1.amazonaws.com/key                 (virtual-hosted, regional)\nhttps://bucket.s3.dualstack.us-east-1.amazonaws.com/key       (virtual-hosted, dualstack)\nhttps://bucket.vpce-xxx.s3.us-east-1.vpce.amazonaws.com/key  (VPCE virtual-hosted)\nhttps://vpce-xxx.s3.us-east-1.vpce.amazonaws.com/bucket/key  (VPCE path-style)\n```\n\n## `parseQueryString` option\n\nPass `true` as the second argument to expose `uri.query` as a parsed object instead of a raw string:\n\n```js\nconst { uri, versionId } = AmazonS3URI(\n  \"https://bucket.s3.amazonaws.com/key?versionId=abc123\",\n  true\n);\n// uri.query → { versionId: 'abc123' }\n// versionId → 'abc123'\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","users":{"ngpvnk":true}}