{"_id":"fetch-extras","_rev":"11-57769f10fb1d2904320a13cd707f9a02","name":"fetch-extras","dist-tags":{"latest":"3.2.1"},"versions":{"0.1.0":{"name":"fetch-extras","version":"0.1.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@0.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"dist":{"shasum":"03eb5d9650bb5726ad6413e7c0229b64bae0ad85","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-0.1.0.tgz","fileCount":5,"integrity":"sha512-O+wBTDDl50AgO4s3nhbBMvn1XX4gXjlKfnODUV/6hJlaCvUiB/oIs8xGVM0BeRmVl4ZZ24zkFb906h5w2J5XFg==","signatures":[{"sig":"MEYCIQDjLMUOkkBG6ue4ur+gBtMrM1aFdZwcXLBqAEL0LiCkuwIhAOjKEzSHJ9wQOD/2T9OET3SLtFcLEfKBVAtd7Nq2vp5D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4666},"type":"module","types":"./index.d.ts","engines":{"node":">=18"},"exports":{"types":"./index.d.ts","default":"./index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"a642b0b79d7ef506ad4b0710d92ec97735b51c7a","scripts":{"test":"xo && ava && tsc index.d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"10.6.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.58.0","ava":"^6.1.3","typescript":"^5.5.3"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_0.1.0_1721178757611_0.6578688704063345","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"fetch-extras","version":"1.0.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@1.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"f76c9624d1029995417867435bcb010416142830","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-1.0.0.tgz","fileCount":5,"integrity":"sha512-T3cM9tgxSVdNzIsLr2Eyx+NeW90GNY07wjUxpIuAj5b3zOTATrRaDhqyOBxp9o0tU1gzZoU+4FkRos4cTnQfzg==","signatures":[{"sig":"MEUCIQCafsLJ9oGJoxBWALS1ev5GaLtQyT2HX3wz9/Bghq9wHwIgbhDQaudjVu1gidy6Or8qzL2NTBVPe+Yin0b/7jDaJXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6953},"type":"module","types":"./index.d.ts","engines":{"node":">=18.18"},"exports":{"types":"./index.d.ts","default":"./index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"20c88a8c1626ea5c5c1d1826593b65b17cc35cdd","scripts":{"test":"xo && ava && tsc index.d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"10.9.2","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"23.6.1","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^6.2.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_1.0.0_1738855257970_0.014310905024440101","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"fetch-extras","version":"1.1.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@1.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"b9fd94eb5f3204af38855e4231f4ea90df96256e","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-1.1.0.tgz","fileCount":8,"integrity":"sha512-MBtBhNJVzRvGEUBCs735qZqr2OqHZxqOEUqCYZmQDFvyy06rv2rkvvUoLB2Xq3qDQb7WR3iYNmIxuVsFX+lufA==","signatures":[{"sig":"MEYCIQDgf/IbOwvuFU9OmEDTyErGGVq4vGZIDTBV1PkW1KrlagIhAMJXz2l0/IO7s6l7XiVDN9aLWrUDj9a3gbtF0G96rVr6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40250},"type":"module","engines":{"node":">=18.18"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"c72f62326764f3c898b6222f3509aa0ce7f10fbe","scripts":{"test":"xo && ava && tsc source/index.d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^6.2.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_1.1.0_1774631353933_0.573741080238749","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"fetch-extras","version":"2.0.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@2.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"d034427902c56176faf74f3554778aeb368a4ccd","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-2.0.0.tgz","fileCount":41,"integrity":"sha512-4A7651mmbHDFtYAXoZoHrxt5WEniqUe1Lp+b3Ikh9tylfkmBIj5HFpybFT8+MstJXQWQCgATeKwJ2mmd03eMcw==","signatures":[{"sig":"MEYCIQDSMH4Vf4iKowPBGgB0l2IqkBYnVyN+FXf4UGWYkXYQ5AIhAKXnhE5Zu6y9uxgoN74YOgd8dnoNDdu1oBmdYF5Ab+A5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140287},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"34817105bff8fbef20d94fb5a3ce38ce49188f5d","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","dependencies":{"is-network-error":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_2.0.0_1775677384454_0.8030491327243456","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"fetch-extras","version":"2.1.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@2.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"2259cb74c02f6aeee5224b322513fceee9773fa6","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-2.1.0.tgz","fileCount":44,"integrity":"sha512-7IXDvvThm8c77/jE/3SOmdT3ZG9fKPI3t6eepYSE+kbT5f3aqwfybS9yF0sFiE+xLmejr8KvkYPtadsSu11LIQ==","signatures":[{"sig":"MEUCIGMgyJ1zgtts72RVfDgI3yg1OhZlITP5lSnY1xRcKpQ1AiEArwK5trij4KA0Geqpt/zA7SZl5nxKE3TvHy5RwxNqGPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153798},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"98c5d647c9610ca3dea04b3d58592e439c610e8d","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_2.1.0_1775721784300_0.9694892583594656","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"fetch-extras","version":"2.1.1","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@2.1.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"63b773ca96b598a47b01da88c7b52027166fab92","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-2.1.1.tgz","fileCount":44,"integrity":"sha512-nJSIrM7waFMb6j0hF/uNT5kzQf157Q6w4cxz7EsVc7AUUchXq9LOO53zt6UNSfV0+DwFrczQd+yllUGuSuPkdA==","signatures":[{"sig":"MEYCIQDgBK/q9DGUJKfM6zMZbMC4ddXo3CDB9yI9axarZnwbZgIhAIYJ00FVt+E0BYciM24mDLZxnneDcq+BaFgW9EBQZXSv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153898},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"fb6fcb22b5da6f2d2a37dd4da1d2dce178cda408","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_2.1.1_1775748128623_0.10011639353271518","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"fetch-extras","version":"3.0.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@3.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"7ce45f29c401688e0bcc2448b341346fd4831224","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-3.0.0.tgz","fileCount":44,"integrity":"sha512-F5XuCc3m3BXyjtv+nw3jptE8GHGk3RB1UIpY48xhPVz/sO754HgY8XfcrUJyOAb+sea4ogXUTv6vhq4wtElj4g==","signatures":[{"sig":"MEQCIHZ/6Ywo3b9f5eMIcmq4j4lPGEyYvlg5wukKwceZKqUqAiAXMeVy/w+8N8xaRHuhDY8zJJbwFiOYig8vnhLm+GYzkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162809},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"9d45f414c020f77976596ff38d053f14e2483453","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_3.0.0_1775975832910_0.1844604509250738","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"fetch-extras","version":"3.0.1","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@3.0.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"50927bf84dd55dd008bf15cd9dfd7b8a69b615a6","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-3.0.1.tgz","fileCount":44,"integrity":"sha512-KZo7n1Mvt/oPAPZdIOLPCTOqLZOGK6UunwYfyXbALmLTYL/FwLUQhcVRNOTVxjfgm1OS+D8o4eLJBVFYtJEI2w==","signatures":[{"sig":"MEUCIGGmwwP7rnODA2z3TTfapySlK+H/I5OIjwB6MVtdHIZrAiEAwfJcDz2BYemr0SlpByKkV/NqlmLqWiOLYiVEvrMS908=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162548},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"1c6a327836e6dbe1aea6d771f490cc5d724082cd","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_3.0.1_1778223535222_0.6849304881782294","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"fetch-extras","version":"3.1.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@3.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"08fc55b8196ac996579c4836ed2ffb6dd0ad6c7f","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-3.1.0.tgz","fileCount":46,"integrity":"sha512-wZlp6mCPOpV0EFbr+0TdUNSpICftIQVxfrufVXzbJESPCooyjxiDvmw3Wn+9dgEU4I39jOiLqX4n8RSTf3K8JQ==","signatures":[{"sig":"MEUCIB7JQyicVHTiP31ABUrQBfh+RFehH2Kp5fq6HTF9TfWxAiEA8E43NkY7DFcDV72GwNNPcBQZvqQJftP8vkgFuqi2HBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164918},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"c9cb6976a9f0b43020011774c9405f7fe2a80e5e","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_3.1.0_1779646539946_0.8278638254158159","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"fetch-extras","version":"3.2.0","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"fetch-extras@3.2.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/fetch-extras#readme","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"dist":{"shasum":"de2dc65236f0466b23f625639c3a1c6dabd749c6","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-3.2.0.tgz","fileCount":46,"integrity":"sha512-uiMQ0xEt9VMmG/soD19SuzG88ujd8XuxkofCKjuyWFVES4pCteuhSr1XpMbtG8PdNIKH/jGFFuLsoqtDKvkj0w==","signatures":[{"sig":"MEYCIQCerl0Y49QVvDsyVrROvQnHckN7Cz1Ny3peiO27hXSYhgIhAI8W/GpSdSDnJzU026sdK49mwuJW9N6wUmIM7jDkiqUF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166130},"type":"module","engines":{"node":">=22"},"exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"32de18938963874966b721fad97c97dd82bf0ab8","scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/fetch-extras.git","type":"git"},"_npmVersion":"11.12.0","description":"Useful utilities for working with Fetch","directories":{},"sideEffects":false,"_nodeVersion":"25.8.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","ava":"^7.0.0","typescript":"^6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/fetch-extras_3.2.0_1779801976768_0.6520829413454234","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"fetch-extras","version":"3.2.1","description":"Useful utilities for working with Fetch","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/fetch-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./source/index.d.ts","default":"./source/index.js"},"sideEffects":false,"engines":{"node":">=22"},"scripts":{"test":"xo && ava && tsc source/index.d.ts && tsc --noEmit --module node16 --moduleResolution node16 --target es2024 test-d.ts"},"keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"devDependencies":{"ava":"^7.0.0","typescript":"^6.0.2","xo":"^0.60.0"},"xo":{"rules":{"n/no-unsupported-features/node-builtins":"off"}},"gitHead":"640a0c7a3378cd6dda0575e1285216e6d05740a6","_id":"fetch-extras@3.2.1","bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"homepage":"https://github.com/sindresorhus/fetch-extras#readme","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-MuxNR+WUQiu6i4xEDrtoSzSwoqDR2QhN8KU5jlFdAyM3aJmPYwOVC/PwkL5tqyzFMoxz9aGzYyPKRrnSkJQsEA==","shasum":"b1a0e06cc5ec4520e3cbd787eee68e1fac0d0499","tarball":"https://registry.npmjs.org/fetch-extras/-/fetch-extras-3.2.1.tgz","fileCount":46,"unpackedSize":167687,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDixIIwZmHFtMuHuH2UhruZDEqDZr/sp9BbIAAmQ4Zo2gIgOkiXU5KEkVloXPUnCqOKQiHhx3fSaz87UH6MwfWhu7s="}]},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fetch-extras_3.2.1_1782742504181_0.26060636969883677"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-17T01:12:37.610Z","modified":"2026-06-29T14:15:04.442Z","0.1.0":"2024-07-17T01:12:37.872Z","1.0.0":"2025-02-06T15:20:58.195Z","1.1.0":"2026-03-27T17:09:14.105Z","2.0.0":"2026-04-08T19:43:04.626Z","2.1.0":"2026-04-09T08:03:04.481Z","2.1.1":"2026-04-09T15:22:08.818Z","3.0.0":"2026-04-12T06:37:13.064Z","3.0.1":"2026-05-08T06:58:55.396Z","3.1.0":"2026-05-24T18:15:40.096Z","3.2.0":"2026-05-26T13:26:16.912Z","3.2.1":"2026-06-29T14:15:04.323Z"},"bugs":{"url":"https://github.com/sindresorhus/fetch-extras/issues"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"license":"MIT","homepage":"https://github.com/sindresorhus/fetch-extras#readme","keywords":["fetch","whatwg","api","request","response","http","client","httperror","utilities","wrapper","ky","got","axios"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/fetch-extras.git"},"description":"Useful utilities for working with Fetch","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"readme":"<h1 align=\"center\" title=\"fetch-extras\">\n\t<img src=\"media/logo.jpg\" alt=\"fetch-extras logo\">\n</h1>\n\n> Useful utilities for working with [Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n\nBuild tiny, focused HTTP clients by composing only the features you need on top of the standard `fetch` API. No wrapper objects, no new interface to learn, no lock-in.\n\n## Highlights\n\n- **Composable** — Each `with*` function adds a single capability. Stack them to build exactly the client you need.\n- **Works everywhere** — Browsers, Node.js, Deno, Bun, Cloudflare Workers, etc.\n- **Zero dependencies**\n- **Standard `fetch`** — The input and output are always a plain `fetch` function. Your code stays portable and familiar.\n- **Tree-shakeable** — Only the utilities you import end up in your bundle.\n- **TypeScript** — Full type definitions with strong generics.\n- **Schema validation** — Validate responses against [Standard Schema](https://standardschema.dev) (Zod, Valibot, ArkType, etc.).\n\n*For a full-featured HTTP client on top of Fetch, check out my [`ky`](https://github.com/sindresorhus/ky) package.*\n\n## Install\n\n```sh\nnpm install fetch-extras\n```\n\n## Usage\n\n```js\nimport {\n\tpipeline,\n\twithTimeout,\n\twithBaseUrl,\n\twithHeaders,\n\twithHttpError,\n\twithJsonResponse,\n} from 'fetch-extras';\n\n// Create a tiny reusable API client that:\n// - Times out after 5 seconds\n// - Uses a base URL so you only write paths\n// - Sends auth headers on every request\n// - Throws errors for non-2xx responses\n// - Parses JSON responses automatically\nconst apiFetch = pipeline(\n\tfetch,\n\twithTimeout(5000),\n\twithBaseUrl('https://api.example.com'),\n\twithHeaders({Authorization: 'Bearer token'}),\n\twithHttpError(),\n\twithJsonResponse(),\n);\n\nconst data = await apiFetch('/users');\n```\n\n`pipeline()` order is the documented order throughout this package. Runtime wrapper nesting is the inverse, so `pipeline(fetch, withTimeout(5000), withHeaders(headers))` becomes `withHeaders(headers)(withTimeout(5000)(fetch))`.\n\n## API\n\n### Wrappers\n\nListed in the recommended [`pipeline`](docs/pipeline.md) order. Read the list top to bottom as the order you pass wrappers to `pipeline()`.\n\n- [`withTimeout`](docs/with-timeout.md) - Abort requests that take too long\n- [`withBaseUrl`](docs/with-base-url.md) - Resolve relative URLs against a base URL\n- [`withSearchParameters`](docs/with-search-parameters.md) - Attach default query parameters to every request\n- [`withHeaders`](docs/with-headers.md) - Attach default headers to every request\n- [`withJsonBody`](docs/with-json-body.md) - Auto-stringify plain objects as JSON\n- [`withRateLimit`](docs/with-rate-limit.md) - Enforce client-side rate limiting with a sliding window\n- [`withConcurrency`](docs/with-concurrency.md) - Cap how many requests can run simultaneously\n- [`withDeduplication`](docs/with-deduplication.md) - Collapse concurrent identical GET requests into a single call\n- [`withCache`](docs/with-cache.md) - In-memory caching for plain unconditional GET responses with a TTL\n- [`withDownloadProgress`](docs/with-download-progress.md) - Track download progress\n- [`withUploadProgress`](docs/with-upload-progress.md) - Track upload progress\n- [`withRetry`](docs/with-retry.md) - Retry failed requests with exponential backoff\n- [`withTokenRefresh`](docs/with-token-refresh.md) - Auto-refresh auth tokens on 401 and retry\n- [`withHooks`](docs/with-hooks.md) - `beforeRequest` and `afterResponse` hooks\n- [`withHttpError`](docs/http-error.md#withhttperrorfetchfunction) - Throw on non-2xx responses\n\nChoose one terminal response wrapper:\n\n- [`withJsonResponse`](docs/with-json-response.md) - Parse response as JSON, with optional [Standard Schema](https://standardschema.dev) validation\n- [`withResponse`](docs/with-response.md) - Transform the final response into any value\n\n### Utilities\n\n- [`pipeline`](docs/pipeline.md) - Compose `with*` wrappers without deep nesting\n- [`paginate`](docs/paginate.md) - Async-iterate over paginated API endpoints\n- [`throwIfHttpError`](docs/http-error.md#throwifhttperrorresponse) - Throw if a response is non-2xx\n\n### Errors\n\n- [`HttpError`](docs/http-error.md#httperror) - Error class for non-2xx responses\n- [`SchemaValidationError`](docs/schema-validation-error.md) - Error class for schema validation failures\n\n## FAQ\n\n### How is this different from Ky?\n\n[Ky](https://github.com/sindresorhus/ky) is a full-featured HTTP client with its own API (`ky.get()`, `.json()`, etc.). This package instead gives you individual utilities that wrap the standard `fetch` function. You pick only what you need and compose them together. If you want a batteries-included client, use Ky. If you want to stay close to the `fetch` API while adding specific capabilities, use this.\n\n### How do I use a proxy?\n\nThis package wraps the standard `fetch` API, so proxy support comes from the runtime. In Node.js, use the [`--use-env-proxy`](https://nodejs.org/learn/http/enterprise-network-configuration) flag.\n\n## Related\n\n- [is-network-error](https://github.com/sindresorhus/is-network-error) - Check if a value is a Fetch network error\n- [ky](https://github.com/sindresorhus/ky) - HTTP client based on Fetch\n- [parse-sse](https://www.npmjs.com/package/parse-sse) - Parse Server-Sent Events (SSE) from a Response\n","readmeFilename":"readme.md"}