{"_id":"@hugoalh/exfetch","_rev":"41-e3160d2de877d4fa242200c2c9c1d7a9","name":"@hugoalh/exfetch","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@hugoalh/exfetch","version":"0.1.0","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.1.0","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-nodejs#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-nodejs/issues"},"dist":{"shasum":"77170feea52bf6b6e78a8837496fc288d1a01c2c","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.1.0.tgz","fileCount":18,"integrity":"sha512-gDcdOZ4/5LlD2hFikBtyPeqjkTu8I3uNaGJ1AtNbT8Dj54MnCdlM2jvEm6xykf9Z1E9qYonOW+LbK6MNgD9EVQ==","signatures":[{"sig":"MEYCIQDFz9f8Y5np0jj0jAkrPXVRCW6ubPNLjSGd/RUZX5SZigIhAOu00FEGi446d1HYUEkJ9B2F9SbkpMjLJ9sfmRs8WE0r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54325},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./dist/main.js"}},"gitHead":"7ae164bd52d1d144887c7fa9fe9fd7db97c02fec","private":false,"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-nodejs.git","type":"git"},"_npmVersion":"10.1.0","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@hugoalh/advanced-determine":"^13.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.52.0","typescript":"^5.2.2","@types/node":"^20.8.10","eslint-plugin-only-warn":"^1.1.0","@typescript-eslint/parser":"^6.9.1","@typescript-eslint/eslint-plugin":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.1.0_1698982590065_0.1448236881869729","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@hugoalh/exfetch","version":"0.2.0","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.2.0","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-nodejs#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-nodejs/issues"},"dist":{"shasum":"4e53be4a857122a95c2fb1d5c36f02ce63bedb2e","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.2.0.tgz","fileCount":15,"integrity":"sha512-kmtAQTNR7Nn4FrqTVWJx8LHVrwOzMFGUNGfDP3E0owp7fIMLGTfnzz1/lf5pZDU9PigHFCQ25tEYbcnVauWRhw==","signatures":[{"sig":"MEQCIFIeQMAlpFfdwJohYOS7m5yzLns3qj6QDTlmXOfJzEYQAiB/bAImCM+cTaFr3AHon4pppbrwS0IIhI1v899Ufr7Ntw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59715},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./dist/main.js"},"./exfetch":{"import":"./dist/exfetch.js"},"./header/link":{"import":"./dist/header/link.js"},"./header/retry-after":{"import":"./dist/header/retry-after.js"}},"gitHead":"eeeaab31ec848171e3d8305261abfb30fc72c0e1","private":false,"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-nodejs.git","type":"git"},"_npmVersion":"10.1.0","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.9.0","dependencies":{"@hugoalh/advanced-determine":"^13.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.53.0","typescript":"^5.2.2","@types/node":"^20.9.0","eslint-plugin-only-warn":"^1.1.0","@typescript-eslint/parser":"^6.11.0","@typescript-eslint/eslint-plugin":"^6.11.0"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.2.0_1700109543028_0.13353250495577718","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@hugoalh/exfetch","version":"0.2.1","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.2.1","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-nodejs#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-nodejs/issues"},"dist":{"shasum":"c4c1449087414bd8e61743146b0bb2dc2ab68864","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.2.1.tgz","fileCount":15,"integrity":"sha512-bwHfN7MDCmJMbLP2gTH9cRK981/EjRf5xPDN0QDLUz3hMNsv3d5noxgFnoUwc8jikdRX+y3GUAbORI+PUcHs0A==","signatures":[{"sig":"MEUCIHwI/yVG7RmEMVe/PAw7lUpNlg3OktMuPegQVuRXTZraAiEA/LskMPCEwVr3bpENMcwU4cXOzAI1zP3uc4tWZ0tviUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59811},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./dist/main.js"},"./exfetch":{"import":"./dist/exfetch.js"},"./header/link":{"import":"./dist/header/link.js"},"./header/retry-after":{"import":"./dist/header/retry-after.js"}},"gitHead":"5238315825c4c9de5c8505ae10a2da49a7bb192a","private":false,"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-nodejs.git","type":"git"},"_npmVersion":"10.2.3","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@hugoalh/advanced-determine":"^13.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.54.0","typescript":"^5.3.2","@types/node":"^20.9.5","eslint-plugin-only-warn":"^1.1.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/eslint-plugin":"^6.12.0"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.2.1_1700800320884_0.7099184734148758","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@hugoalh/exfetch","version":"0.3.0","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.3.0","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-nodejs#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-nodejs/issues"},"dist":{"shasum":"af0a6a26cc51a9477f2102137f11e562ec981134","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.3.0.tgz","fileCount":15,"integrity":"sha512-lc1NnoI10R3vFrqbkk3febSDrR6JhuGVRZqZyqikwQTnFrkFkEHn27rcrKLleQKZFup6I1gWxKBrZzxAiB2aGQ==","signatures":[{"sig":"MEYCIQCD8wTDxm85dosSfPhR7r9clVfIhwEMhx+At231N80y3AIhAKM/3GxhnmIYJO4l95FukF4ujZE8gXM2x5Xh6O+V2CjW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59364},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","engines":{"node":">=18.12.0"},"exports":{".":{"import":"./dist/main.js"},"./exfetch":{"import":"./dist/exfetch.js"},"./header/link":{"import":"./dist/header/link.js"},"./header/retry-after":{"import":"./dist/header/retry-after.js"}},"gitHead":"34bf76b0e313824043d20725120fcdc8f517a5a3","private":false,"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-nodejs.git","type":"git"},"_npmVersion":"10.2.3","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@hugoalh/advanced-determine":"^14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","typescript":"^5.3.3","@types/node":"^20.11.0","eslint-plugin-only-warn":"^1.1.0","@stylistic/eslint-plugin":"^1.5.3","@typescript-eslint/parser":"^6.18.1","@typescript-eslint/eslint-plugin":"^6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.3.0_1705218686893_0.4114146069166147","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@hugoalh/exfetch","version":"0.3.1","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.3.1","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-nodejs#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-nodejs/issues"},"dist":{"shasum":"1d5bdb79b1a36de3227e9cfb9e162c8e7b4635ff","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.3.1.tgz","fileCount":15,"integrity":"sha512-M+bO7hp7I9gTP9n3pd7vC3SEXQsvvoFnQWWeyCwPGcbjPdEnWN0kbfPp58CIg0wduPz+76tHeu/TI5SMjAL39w==","signatures":[{"sig":"MEQCIAbNa2DjfitmqbSZOjmbMtAOm6xwvMKsgDT9/3XXewUMAiB2cLYCKU9Jwe7uJbE5MJogZMzoItlcXSOLl4LREijLyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59516},"main":"./dist/main.js","type":"module","types":"./dist/main.d.ts","engines":{"node":">=18.12.0"},"exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js"},"./exfetch":{"types":"./dist/exfetch.d.ts","import":"./dist/exfetch.js"},"./header/link":{"types":"./dist/header/link.d.ts","import":"./dist/header/link.js"},"./header/retry-after":{"types":"./dist/header/retry-after.d.ts","import":"./dist/header/retry-after.js"}},"gitHead":"45ea62272850f097beaeec25039013a9edc32ddd","private":false,"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-nodejs.git","type":"git"},"_npmVersion":"10.2.3","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@hugoalh/advanced-determine":"^14.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","typescript":"^5.3.3","@types/node":"^20.11.0","eslint-plugin-only-warn":"^1.1.0","@stylistic/eslint-plugin":"^1.5.3","@typescript-eslint/parser":"^6.18.1","@typescript-eslint/eslint-plugin":"^6.18.1"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.3.1_1705289418047_0.816723528458368","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@hugoalh/exfetch","version":"0.5.0","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.5.0","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-es#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-es/issues"},"dist":{"shasum":"9db1b1679b48d49a9a0afca8b9ac64a5a1aa68dd","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.5.0.tgz","fileCount":9,"integrity":"sha512-4z62mxsbX2sCTV/Np/meJj+B2SXhjTPZe3TbYaZGxWLDPu6PpDdr/y7t4pxBZHhUNxYyydnHmV3sf76c9bGgVQ==","signatures":[{"sig":"MEUCIQC+ZULkz3wbYIKviJLB65A/ZL/3lb9cBLAd5JiR3shQTwIgNDEte/kMS7pMIfhLeIYc5+1THbO+XQ1iFzAoc6u5ejY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54146},"main":"./dist/mod.js","type":"module","types":"./dist/mod.d.ts","engines":{"node":">=16.13.0"},"exports":{"types":"./dist/mod.d.ts","import":"./dist/mod.js"},"gitHead":"eee5bc0b7ed91c0e538f4d5b6a45bd179907c6d7","private":false,"scripts":{"build":"tsc"},"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-es.git","type":"git"},"_npmVersion":"10.5.0","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"@hugoalh/http-header-link":"1.0.1","@hugoalh/http-header-retry-after":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.5.0_1713261829655_0.4243158155847655","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@hugoalh/exfetch","version":"0.5.1","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.5.1","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh-studio/exfetch-es#readme","bugs":{"url":"https://github.com/hugoalh-studio/exfetch-es/issues"},"dist":{"shasum":"852c488eab2b1eeeb658be294e6a8108f7e6d911","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.5.1.tgz","fileCount":9,"integrity":"sha512-CO6W25EZ/OyosfFk0ecmho0TfqkKPgK6iklZrsJA3a9ZkwSsBRnnCy0qk1C8X1PB4+Db3qtGNuzW/IJI/FDpgg==","signatures":[{"sig":"MEYCIQC3HlPwHD9FbdjAPV5TvKT6UxNwRZt67vf5XuVFMWlZHAIhALgc6Ranwb8AAOsxs7kPeJ/1ipSB1foIEfaI469ECZBR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53361},"main":"./dist/mod.js","type":"module","types":"./dist/mod.d.ts","engines":{"node":">=18.12.0"},"exports":{"types":"./dist/mod.d.ts","import":"./dist/mod.js"},"gitHead":"07d0b514484feede77236828a89b94c6cd30e0df","private":false,"scripts":{"build":"tsc"},"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh-studio/exfetch-es.git","type":"git"},"_npmVersion":"10.5.0","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"@hugoalh/http-header-link":"1.0.2","@hugoalh/http-header-retry-after":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.5","@types/node":"20.12.8"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.5.1_1715058856415_0.12130906191983493","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@hugoalh/exfetch","version":"0.6.0","keywords":["exfetch","fetch"],"author":{"name":"hugoalh"},"license":"MIT","_id":"@hugoalh/exfetch@0.6.0","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"homepage":"https://github.com/hugoalh/exfetch-es#readme","bugs":{"url":"https://github.com/hugoalh/exfetch-es/issues"},"dist":{"shasum":"7a166d0d104d583d9a4f1ab18719d693c03926d5","tarball":"https://registry.npmjs.org/@hugoalh/exfetch/-/exfetch-0.6.0.tgz","fileCount":9,"integrity":"sha512-bbD2qESv2WGRItTnQS6EkNtFWKyKkfL+bEcZKv3bYNUJ/18ZN6HYAqDL1bHmR/rNJaI+E5uakHGtOLqIa+cqMg==","signatures":[{"sig":"MEYCIQDgvUdJ8VeNf28Se/6D9Oes6MCaGR5ckcN3MFFoF3QSSQIhAJSeH3tSbIO5pSOAJ+/98tkj6jYho+ftNL60p1Vj338c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hugoalh%2fexfetch@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43949},"main":"./mod.js","type":"module","types":"./mod.d.ts","module":"./mod.js","engines":{"node":">=18.12.0"},"exports":{".":{"import":{"types":"./mod.d.ts","default":"./mod.js"}}},"private":false,"scripts":{},"_npmUser":{"name":"hugoalh","email":"hugoalh@gmail.com"},"repository":{"url":"git+https://github.com/hugoalh/exfetch-es.git","type":"git"},"_npmVersion":"10.9.2","description":"A module to extend `fetch`.","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@deno/shim-deno":"~0.18.0","@deno/shim-timers":"~0.1.0","@deno/shim-prompts":"~0.1.0","@hugoalh/http-header-link":"^1.0.3","@hugoalh/http-header-retry-after":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.9.0"},"_npmOperationalInternal":{"tmp":"tmp/exfetch_0.6.0_1736656688437_0.3724304152740492","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2023-11-03T03:36:29.937Z","modified":"2025-08-24T08:26:40.040Z","0.1.0":"2023-11-03T03:36:30.213Z","0.2.0":"2023-11-16T04:39:03.264Z","0.2.1":"2023-11-24T04:32:01.078Z","0.3.0":"2024-01-14T07:51:27.080Z","0.3.1":"2024-01-15T03:30:18.211Z","0.5.0":"2024-04-16T10:03:49.841Z","0.5.1":"2024-05-07T05:14:16.593Z","0.6.0":"2025-01-12T04:38:08.618Z"},"bugs":{"url":"https://github.com/hugoalh/exfetch-es/issues"},"author":{"name":"hugoalh"},"license":"MIT","homepage":"https://github.com/hugoalh/exfetch-es#readme","keywords":["exfetch","fetch"],"repository":{"url":"git+https://github.com/hugoalh/exfetch-es.git","type":"git"},"description":"A module to extend `fetch`.","maintainers":[{"name":"hugoalh","email":"hugoalh@gmail.com"}],"readme":"# exFetch (ES)\n\n[**⚖️** MIT](./LICENSE.md)\n\n[![Deno Land: exfetch](https://img.shields.io/badge/dynamic/json?label=exfetch&labelColor=000000&logo=deno&logoColor=ffffff&style=flat&url=https%3A%2F%2Fapiland.deno.dev%2Fv2%2Fmodules%2Fexfetch&query=%24.latest_version \"Deno Land: exfetch\")](https://deno.land/x/exfetch)\n[![GitHub: hugoalh/exfetch-es](https://img.shields.io/github/v/release/hugoalh/exfetch-es?label=hugoalh/exfetch-es&labelColor=181717&logo=github&logoColor=ffffff&sort=semver&style=flat \"GitHub: hugoalh/exfetch-es\")](https://github.com/hugoalh/exfetch-es)\n[![JSR: @hugoalh/exfetch](https://img.shields.io/jsr/v/@hugoalh/exfetch?label=@hugoalh/exfetch&labelColor=F7DF1E&logo=jsr&logoColor=000000&style=flat \"JSR: @hugoalh/exfetch\")](https://jsr.io/@hugoalh/exfetch)\n[![NPM: @hugoalh/exfetch](https://img.shields.io/npm/v/@hugoalh/exfetch?label=@hugoalh/exfetch&labelColor=CB3837&logo=npm&logoColor=ffffff&style=flat \"NPM: @hugoalh/exfetch\")](https://www.npmjs.com/package/@hugoalh/exfetch)\n\nAn ES (JavaScript & TypeScript) module to extend `fetch`.\n\n## 🌟 Features\n\n- Ability to cache suitable `Request`-`Response`s to reduce network usage and response time.\n- Automatically retry on failure requests, preferentially obey the response header `Retry-After`.\n- Redirect fine control.\n- Simplify URL paginate requests.\n\n## 🔰 Begin\n\n### 🎯 Targets\n\n|  | **Remote** | **JSR** | **NPM** |\n|:--|:--|:--|:--|\n| **[Bun](https://bun.sh/)** >= v1.1.0 | ❌ | ❓ | ✔️ |\n| **[Cloudflare Workers](https://workers.cloudflare.com/)** | ❌ | ❓ | ✔️ |\n| **[Deno](https://deno.land/)** >= v1.42.0 | ✔️ | ✔️ | ✔️ |\n| **[NodeJS](https://nodejs.org/)** >= v18.12.0 | ❌ | ❓ | ✔️ |\n\n> [!NOTE]\n> - It is possible to use this module in other methods/ways which not listed in here, however those methods/ways are not officially supported, and should beware maybe cause security issues.\n\n### #️⃣ Resources Identifier\n\n- **Remote - Deno Land:**\n  ```\n  https://deno.land/x/exfetch[@{Tag}]/mod.ts\n  ```\n- **Remote - GitHub Raw:**\n  ```\n  https://raw.githubusercontent.com/hugoalh/exfetch-es/{Tag}/mod.ts\n  ```\n- **JSR:**\n  ```\n  [jsr:]@hugoalh/exfetch[@{Tag}]\n  ```\n- **NPM:**\n  ```\n  [npm:]@hugoalh/exfetch[@{Tag}]\n  ```\n\n> [!NOTE]\n> - For usage of remote resources, it is recommended to import the entire module with the main path `mod.ts`, however it is also able to import part of the module with sub path if available, but do not import if:\n>\n>   - it's path has an underscore prefix (e.g.: `_foo.ts`, `_util/bar.ts`), or\n>   - it is a benchmark or test file (e.g.: `foo.bench.ts`, `foo.test.ts`), or\n>   - it's symbol has an underscore prefix (e.g.: `_bar`, `_foo`).\n>\n>   These elements are not considered part of the public API, thus no stability is guaranteed for them.\n> - For usage of JSR or NPM resources, it is recommended to import the entire module with the main entrypoint, however it is also able to import part of the module with sub entrypoint if available, please visit the [file `jsr.jsonc`](./jsr.jsonc) property `exports` for available sub entrypoints.\n> - It is recommended to use this module with tag for immutability.\n\n### 🛡️ Runtime Permissions\n\n- Network \\[Deno: `net`\\]\n  - *Resources*\n\n## 🧩 APIs\n\n- ```ts\n  class ExFetch {\n    constructor(options?: ExFetchOptions);\n    single(input: string | URL, init?: RequestInit): Promise<Response>;\n    urlPaginate(input: string | URL, init?: RequestInit): Promise<Response[]>;\n  }\n  ```\n- ```ts\n  function exFetch(input: string | URL, init?: RequestInit, options?: ExFetchOptions): Promise<Response>;\n  ```\n- ```ts\n  function exFetchURLPaginate(input: string | URL, init?: RequestInit, options?: ExFetchOptions): Promise<Response[]>;\n  ```\n\n> [!NOTE]\n> - For the full or prettier documentation, can visit via:\n>   - [Deno CLI `deno doc`](https://docs.deno.com/runtime/reference/cli/documentation_generator/)\n>   - [Deno Land](https://deno.land/x/exfetch)\n>   - [JSR](https://jsr.io/@hugoalh/exfetch)\n\n## ✍️ Examples\n\n- ```ts\n  const responses: Response[] = await exFetchURLPaginate(\"https://api.github.com/repos/microsoft/vscode/labels?per_page=100\");\n\n  responses.map((response: Response) => {\n    return response.ok;\n  }).includes(false);\n  //=> false (`false` when no broken page, otherwise `true`)\n\n  const result = [];\n  for (const response of responses) {\n    result.push(...(await response.json()));\n  }\n  result;\n  /*=>\n  [\n    {\n      \"id\": 2339554941,\n      \"node_id\": \"MDU6TGFiZWwyMzM5NTU0OTQx\",\n      \"url\": \"https://api.github.com/repos/microsoft/vscode/labels/:apple:%20si\",\n      \"name\": \":apple: si\",\n      \"color\": \"e99695\",\n      \"default\": false,\n      \"description\": \"Issues related to apple silicon\"\n    },\n    {\n      \"id\": 421131022,\n      \"node_id\": \"MDU6TGFiZWw0MjExMzEwMjI=\",\n      \"url\": \"https://api.github.com/repos/microsoft/vscode/labels/*as-designed\",\n      \"name\": \"*as-designed\",\n      \"color\": \"E2A1C2\",\n      \"default\": false,\n      \"description\": \"Described behavior is as designed\"\n    },\n    {\n      \"id\": 409283388,\n      \"node_id\": \"MDU6TGFiZWw0MDkyODMzODg=\",\n      \"url\": \"https://api.github.com/repos/microsoft/vscode/labels/*caused-by-extension\",\n      \"name\": \"*caused-by-extension\",\n      \"color\": \"E2A1C2\",\n      \"default\": false,\n      \"description\": \"Issue identified to be caused by an extension\"\n    },\n    {\n      \"id\": 766755777,\n      \"node_id\": \"MDU6TGFiZWw3NjY3NTU3Nzc=\",\n      \"url\": \"https://api.github.com/repos/microsoft/vscode/labels/*dev-question\",\n      \"name\": \"*dev-question\",\n      \"color\": \"E2A1C2\",\n      \"default\": false,\n      \"description\": \"VS Code Extension Development Question\"\n    },\n    {\n      \"id\": 366106217,\n      \"node_id\": \"MDU6TGFiZWwzNjYxMDYyMTc=\",\n      \"url\": \"https://api.github.com/repos/microsoft/vscode/labels/*duplicate\",\n      \"name\": \"*duplicate\",\n      \"color\": \"E2A1C2\",\n      \"default\": false,\n      \"description\": \"Issue identified as a duplicate of another issue(s)\"\n    },\n    ... +467\n  ]\n  */\n  ```\n","readmeFilename":"README.md"}