{"_id":"@ar-packages-changeit/rate-limited-axios","_rev":"4-a06e33c570bfe303f037554848e1e313","name":"@ar-packages-changeit/rate-limited-axios","dist-tags":{"develop":"1.1.1-99c54da5","latest":"1.1.1"},"versions":{"1.1.1-18bb5e21":{"name":"@ar-packages-changeit/rate-limited-axios","version":"1.1.1-18bb5e21","author":{"name":"Rosen Team"},"license":"MIT","_id":"@ar-packages-changeit/rate-limited-axios@1.1.1-18bb5e21","maintainers":[{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"}],"homepage":"https://github.com/rosen-bridge/network-client#readme","bugs":{"url":"https://github.com/rosen-bridge/network-client/issues"},"dist":{"shasum":"72e1c36d4407094fc5ef0f9d64a1a2c53b37b3c1","tarball":"https://registry.npmjs.org/@ar-packages-changeit/rate-limited-axios/-/rate-limited-axios-1.1.1-18bb5e21.tgz","fileCount":15,"integrity":"sha512-12JCrYpS8ykEQctLUGb7PU/m0rfM/FPsXQ8ew6JNJ/tqngqN3/g88oW1JEji0B/WZvCrMokKP08gazU8kaORXQ==","signatures":[{"sig":"MEYCIQCJZaCvoV8OjH1BsqLOGMUUGFby/tNMNtQKFsi4CW32ZQIhAKR+ija5R3WLxFeEbejAy4Ko5rUuTiXKFNgmFlX84ayq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47257},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.18.0"},"gitHead":"18bb5e2189acbe9dd622cde01c5f85aeee6ec79f","scripts":{"lint":"eslint --fix . && npm run prettify","build":"tsc --build tsconfig.build.json","clean":"rimraf dist && rimraf tsconfig.build.tsbuildinfo","release":"npm run clean && npm run build && npm publish --access public","prettify":"prettier --write . --ignore-path ../../.gitignore","lint:check":"eslint . && npm run prettify:check","type-check":"tsc --noEmit","prettify:check":"prettier --check . --ignore-path ../../.gitignore"},"_npmUser":{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"},"repository":{"url":"git+https://github.com/rosen-bridge/network-client.git","type":"git"},"_npmVersion":"11.6.2","description":"A lightweight rate-limiting wrapped Axios that helps control the number of HTTP requests and prevent API throttling.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.11.0","await-semaphore":"^0.1.3","@rosen-bridge/abstract-logger":"^3.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rate-limited-axios_1.1.1-18bb5e21_1763556119990_0.19037305739936738","host":"s3://npm-registry-packages-npm-production"}},"1.1.1-99c54da5":{"name":"@ar-packages-changeit/rate-limited-axios","version":"1.1.1-99c54da5","author":{"name":"Rosen Team"},"license":"MIT","_id":"@ar-packages-changeit/rate-limited-axios@1.1.1-99c54da5","maintainers":[{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"}],"homepage":"https://github.com/rosen-bridge/network-client#readme","bugs":{"url":"https://github.com/rosen-bridge/network-client/issues"},"dist":{"shasum":"e68baacf213db48a95af3b9cf35fa8fba85575ec","tarball":"https://registry.npmjs.org/@ar-packages-changeit/rate-limited-axios/-/rate-limited-axios-1.1.1-99c54da5.tgz","fileCount":15,"integrity":"sha512-SbXsHm9BD3qrrtQ1GeW6GuADXV1NZWDj8JlB1XL7NnIGVK7f4vwTowjf0Za6K9iHbv+Ir/DO0mN8ob2SuPQTzw==","signatures":[{"sig":"MEQCIDS7pRYsVu1Wve05/FbIuTDNewMWOFWN5N0JhqcU3pj4AiBnzwsNOO8m1h9yc8d2v2o0XnNxF1DXGx+O8xmcGM8nTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47257},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.18.0"},"gitHead":"99c54da51376909eaca1c2f499fb1744ca4c6ff5","scripts":{"lint":"eslint --fix . && npm run prettify","build":"tsc --build tsconfig.build.json","clean":"rimraf dist && rimraf tsconfig.build.tsbuildinfo","release":"npm run clean && npm run build && npm publish --access public","prettify":"prettier --write . --ignore-path ../../.gitignore","lint:check":"eslint . && npm run prettify:check","type-check":"tsc --noEmit","prettify:check":"prettier --check . --ignore-path ../../.gitignore"},"_npmUser":{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"},"repository":{"url":"git+https://github.com/rosen-bridge/network-client.git","type":"git"},"_npmVersion":"11.6.2","description":"A lightweight rate-limiting wrapped Axios that helps control the number of HTTP requests and prevent API throttling.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.11.0","await-semaphore":"^0.1.3","@rosen-bridge/abstract-logger":"^3.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/rate-limited-axios_1.1.1-99c54da5_1763556308690_0.6334944405579894","host":"s3://npm-registry-packages-npm-production"}},"1.1.1-e347b02b":{"name":"@ar-packages-changeit/rate-limited-axios","version":"1.1.1-e347b02b","author":{"name":"Rosen Team"},"license":"MIT","_id":"@ar-packages-changeit/rate-limited-axios@1.1.1-e347b02b","maintainers":[{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"}],"homepage":"https://github.com/rosen-bridge/network-client#readme","bugs":{"url":"https://github.com/rosen-bridge/network-client/issues"},"dist":{"shasum":"def28fe8f76cddf154a9f3d5cad74b667d4d4429","tarball":"https://registry.npmjs.org/@ar-packages-changeit/rate-limited-axios/-/rate-limited-axios-1.1.1-e347b02b.tgz","fileCount":16,"integrity":"sha512-QH6R00EulN6PvQX+WXrfeXGq3Wgq3a/t1/lvFJgD6+hikEUDlUkV1aDIZ2m+CsIS8eN05s4p9FYy2R3QjAQUFA==","signatures":[{"sig":"MEYCIQDWlWwSwPayy21rjZroj7b/mRSpD3t7K37/N0/FWNCR4gIhAIXIk3sLOnTGhPaVfbUoRLcASgDzXeXVOTWeClkb7Ahe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84751},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22.18.0"},"gitHead":"b975fb5034de452eccb54637940d09e504b287fe","scripts":{"lint":"eslint --fix . && npm run prettify","build":"tsc --build tsconfig.build.json","clean":"rimraf dist && rimraf tsconfig.build.tsbuildinfo","release":"npm run clean && npm run build && npm publish --access public","prettify":"prettier --write . --ignore-path ../../.gitignore","lint:check":"eslint . && npm run prettify:check","type-check":"tsc --noEmit","prettify:check":"prettier --check . --ignore-path ../../.gitignore"},"_npmUser":{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"},"repository":{"url":"git+https://github.com/rosen-bridge/network-client.git","type":"git"},"_npmVersion":"11.6.2","description":"A lightweight rate-limiting wrapped Axios that helps control the number of HTTP requests and prevent API throttling.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.11.0","await-semaphore":"^0.1.3","@rosen-bridge/abstract-logger":"^3.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rate-limited-axios_1.1.1-e347b02b_1763556333840_0.9322459365816069","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ar-packages-changeit/rate-limited-axios","version":"1.1.1","description":"A lightweight rate-limiting wrapped Axios that helps control the number of HTTP requests and prevent API throttling.","repository":{"type":"git","url":"git+https://github.com/rosen-bridge/network-client.git"},"license":"MIT","author":{"name":"Rosen Team"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc --build tsconfig.build.json","clean":"rimraf dist && rimraf tsconfig.build.tsbuildinfo","lint":"eslint --fix . && npm run prettify","lint:check":"eslint . && npm run prettify:check","prettify":"prettier --write . --ignore-path ../../.gitignore","prettify:check":"prettier --check . --ignore-path ../../.gitignore","release":"npm run clean && npm run build && npm publish --access public","type-check":"tsc --noEmit"},"dependencies":{"@rosen-bridge/abstract-logger":"^3.0.1","await-semaphore":"^0.1.3","axios":"^1.11.0"},"engines":{"node":">=22.18.0"},"gitHead":"43171ed6ba69259b8f3f7b9869a7233cd2d1f702","_id":"@ar-packages-changeit/rate-limited-axios@1.1.1","bugs":{"url":"https://github.com/rosen-bridge/network-client/issues"},"homepage":"https://github.com/rosen-bridge/network-client#readme","_nodeVersion":"22.18.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-akmEqqre2cnF7IrFIYRIt/DBFBtevpUd8FA6T1S/pEfTnSwp6ZtUzIMkKILZ37x4CkFm5Tm8VwKJe0O3M8x3bA==","shasum":"c5a725177b919bae62d2be590cfff723dcef84ec","tarball":"https://registry.npmjs.org/@ar-packages-changeit/rate-limited-axios/-/rate-limited-axios-1.1.1.tgz","fileCount":16,"unpackedSize":84780,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDjsXuQf3acbQ+IQa+/uNeneqJk0seWzcs7Egzl7JMDIAiEAlXrxSQ7erdSkI2t0dS0Ddn9Iq3azXiBVOhuM5Eu1ssw="}]},"_npmUser":{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"},"directories":{},"maintainers":[{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rate-limited-axios_1.1.1_1763556480816_0.35019541485440686"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-19T12:41:59.858Z","modified":"2025-11-19T12:48:01.224Z","1.1.1-18bb5e21":"2025-11-19T12:42:00.154Z","1.1.1-99c54da5":"2025-11-19T12:45:08.953Z","1.1.1-e347b02b":"2025-11-19T12:45:34.033Z","1.1.1":"2025-11-19T12:48:01.006Z"},"bugs":{"url":"https://github.com/rosen-bridge/network-client/issues"},"author":{"name":"Rosen Team"},"license":"MIT","homepage":"https://github.com/rosen-bridge/network-client#readme","repository":{"type":"git","url":"git+https://github.com/rosen-bridge/network-client.git"},"description":"A lightweight rate-limiting wrapped Axios that helps control the number of HTTP requests and prevent API throttling.","maintainers":[{"name":"arsalanyavari","email":"arya48.yavari79@gmail.com"}],"readme":"# @rosen-clients/rate-limited-axios\n\n## Table of contents\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Usage](#usage)\n\n## Introduction\n\nA lightweight rate-limiting interceptor for Axios that helps control the number of HTTP requests and prevent API throttling.\n\n## Installation\n\nnpm:\n\n```sh\nnpm i @rosen-clients/rate-limited-axios\n```\n\nyarn:\n\n```sh\nyarn add @rosen-clients/rate-limited-axios\n```\n\n## Usage\n\nTo enable global rate-limiting across your application, you should initialize the configuration once at the entry point of your project (e.g., index.ts or bootstrap.ts):\n\n```ts\nimport RateLimitedAxios, { RateLimitedAxiosConfig } from '@rosen-clients/rate-limited-axios';\n\nRateLimiterAxiosConfig.addRule('^http://google.com/.*$', 10, 30, 90);\nRateLimiterAxiosConfig.addRule('^http://yahoo.com/.*$', 10, 30, 90);\nRateLimiterAxiosConfig.addRule('^http://bing.com/.*$', 10, 30, 90);\n.\n.\n.\nconst axiosClient = new RateLimitedAxios();\nfor (let i = 0; i < 10; i++)\n  axiosClient.get(url);\n```\n\nAfter this initialization, all packages that import and use @rosen-clients/rate-limited-axios will respect the configured request limits, ensuring consistent throttling behavior across your entire application.\n","readmeFilename":"README.md"}