{"_id":"p-ratelimit","_rev":"24-03c7b507ddf12ebf8ba6a48f47677cd8","name":"p-ratelimit","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","dist-tags":{"latest":"1.0.1"},"versions":{"0.8.1":{"name":"p-ratelimit","version":"0.8.1","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"ee2cc9c530e8dab023d504e5865ac5fb1cdba59b","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.8.1","_shasum":"961b6ff1d58cf17d0dc3947fa2280ca8f8b31250","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"shasum":"961b6ff1d58cf17d0dc3947fa2280ca8f8b31250","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.8.1.tgz","integrity":"sha512-hedXAh48xEW0zolDkCVoi4QwnW1H5+7n0zhl2tSXZBDydFjTyZrwM0ngJzZ+91Xsa9BVbPSKmCVStryG+Q2PPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDm3mtW2kY7t+GuwnZEEErOSW7AqYITAWKADYhM4D1eOAiEAm2ULMG76vp/2yiG3czwtqiROMHdY+6L6oheS/HgeGCc="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.8.1.tgz_1508439413348_0.4504582865629345"},"directories":{}},"0.8.2":{"name":"p-ratelimit","version":"0.8.2","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"7e9e8bca3f1893ef900568d98c9aa9ffe5a00017","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.8.2","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-Get18H1Zy1WGwfN9SPem/DO8C+xCVKmj4iNDxaZedxbyYQuilQV369i5P0L6xk5SgQG7t/W0gsx6abA6+eiW3w==","shasum":"bb66625641f69621c5134f9b2c29bb253ad6cffc","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.8.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEDLnt6tjMnTETMNtjkL0gnf9DRLH56sPztQn1kr3zRAIhANKx+pZZF/SHgk32WEAwkuQVJ8n+eMZiR+NjBAPZdb00"}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.8.2.tgz_1508446159110_0.5957627405878156"},"directories":{}},"0.8.3":{"name":"p-ratelimit","version":"0.8.3","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"1ce02b6b9c2d8e9e16c709e78c2c868b1eef6ebe","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.8.3","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-nPsu8C+xw5OFp+HXUHgc2Y+a7bsDS6CWymN/m2cDjb2GOekoI6iQx0KFh9BzQyuJhQxb8WsrobkLmZ9OXS+/6w==","shasum":"3e5daa0faeadb8bde6f25ea55fed76c82d785c4c","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.8.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5/r3qLJheElwbs6ieDioiGE04L2r++uz3VqqVYVLz5gIhAIdNnQ9Ri1ByNEiXNb3QweKuAToaGDducMpfFRj21yju"}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.8.3.tgz_1508447409450_0.06401344132609665"},"directories":{}},"0.9.0":{"name":"p-ratelimit","version":"0.9.0","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"35e9d5edb1eb36379999b88e6e6c32c380247a72","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.0","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-dA08MGgPyQ3RfZEy9/kzi4AnStJxxERkF9qDZ1qZM2i3DXui37Uq+diCyWmHipSXqilH1XDO9stFqX5iMpzrPA==","shasum":"50291f3ec494f41141dbc3a3c5b539cae3aa18f0","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFaNfr+OqhmlxSFWtlGVtJAvxtBxZn9qrmzqcARIpExcAiAJwzwZ/cCI+uKVGULSJ2zLXLL8Hv82kvBv1ubdLrRc4A=="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.0.tgz_1508778069248_0.3027947770897299"},"directories":{}},"0.9.1":{"name":"p-ratelimit","version":"0.9.1","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"473efd39cb0f19238979745d5a74f67ea1c7a53a","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.1","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-7nyrL1IDQR83j1Fhjc05819TBR5imjPRP4B2M07G1EiIg5zDXQZE9bA7agXH5HDl7yzcET8EgJ6UZL3tdEPwDw==","shasum":"bc0523118b7921889f14dbf0238297433475b045","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGsSI8arg/+LQxpQK9MswIpwsdW0bXzU/oMv6oJhN2ZAiEArmhlcNVgiE0Ta7aTcFZeuuPNGTz0NO+L3kSYlxzRXkI="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.1.tgz_1508778277564_0.8150038924068213"},"directories":{}},"0.9.2":{"name":"p-ratelimit","version":"0.9.2","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"81c82fbb448077ebb73feedf65597b8051cfa321","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.2","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-uWd2HLxKCctRXAPedk8fVgKG4nNGNSvtvvYc21chBGFnLC4T7N9QLbPA5fLFcqok/m3hERT+3svtSRht+pckrA==","shasum":"5186ab9135386c326325f3e535c0d0ba1b7e7240","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdvVm/1twVpWwh3Q7rhLS5XX+Y+KpDsgJgBj+vED+yYAiEAhlGLYYSj02gW2HGto4BpoCAXjtR6IY4SWcX0rBgHaqs="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.2.tgz_1508784413621_0.5334131405688822"},"directories":{}},"0.9.3":{"name":"p-ratelimit","version":"0.9.3","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.22.0","del-cli":"^1.1.0","nyc":"^11.2.1","redis":"^2.8.0","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"213705c48fda75c4acda92461c70361170a56fc6","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.3","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-iwzDI1D5lOwUgcENXuNFYK30roEd1xepI7FtwaNjX8Kq9nwQ3z2YDN2oH4PfW5RsE6G/JHm+RfRBvtCI4XzGZQ==","shasum":"17d671a469cc19117036722babf06d693bff8512","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHlIDPHuGjMPPAZTcYVNIyCMe7507JRGsLoZ8xgDEO3KAiEA7WnyG6dD7pxtcYyFnGiFl04kU1A9XZL2nCfLQ7xWo50="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.3.tgz_1508801673703_0.8019987535662949"},"directories":{}},"0.9.4":{"name":"p-ratelimit","version":"0.9.4","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.23.0","del-cli":"^1.1.0","fakeredis":"^2.0.0","nyc":"^11.2.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"d5c05bbcc52dfb39352738fb17f7470750ad2681","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.4","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-ax3MKyCio8BRHs/wIkiBMesMqSOscvPocqA+DRIeFTel49gf4DsyiAsAY6rIWroNpJbaB5H1xLqlD2xHzMHA1Q==","shasum":"0091e4faf614059bb30a2a0f1445490a35c40481","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDz4cS0id6IT4SsRzwmSfsNIt/8SN4e/nQ3Xv4Kd9rMLAIgN7vRKfpoNsdBHiQSfO4zhQ55H7Cd+yR0VDXaSPxV0qQ="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.4.tgz_1508970203468_0.2386501431465149"},"directories":{}},"0.9.5":{"name":"p-ratelimit","version":"0.9.5","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc"},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^8.0.44","@types/redis":"^2.6.1","ava":"^0.23.0","del-cli":"^1.1.0","fakeredis":"^2.0.0","nyc":"^11.2.1","ts-node":"^3.3.0","tslint":"^5.7.0","typescript":"^2.5.3"},"dependencies":{},"gitHead":"42c08f5f5d397313a2c5c35faf33d670362ec223","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.9.5","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"natevancouver","email":"nate@natesilva.com"},"dist":{"integrity":"sha512-qzimW44A2vZcdsNE4GefndTH9gS8fkIgzJw1P/gtCZZN83ATIzcutx3tlorzq00xeC9wek1ornYgq/clxip+SQ==","shasum":"1df3c5d197c65e06cd583cf7686541ad1b483618","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.9.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH1GAxGB5eBZaqeqT2r0N3xP+//pz4g/QKsXekl42Ps5AiEAhFi7ADU8s0kG1PC30zEf3xlg+z1ukitMslvDuWnrhoA="}]},"maintainers":[{"name":"natevancouver","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit-0.9.5.tgz_1508971895424_0.13543479214422405"},"directories":{}},"0.10.0":{"name":"p-ratelimit","version":"0.10.0","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"npm run prepare && ava --verbose ./build/test","coverage":"npm run prepare && nyc --reporter lcov --reporter text ava ./build/test","prepare":"del-cli build && tsc","prettier":"prettier --write \"{src,test}/**/*.?(ts|json)\""},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^11.11.1","@types/redis":"^2.8.10","ava":"^1.3.1","del-cli":"^1.1.0","fakeredis":"^2.0.0","nyc":"^13.3.0","prettier":"^1.16.4","testdouble":"^3.11.0","ts-node":"^8.0.3","tslint":"^5.13.1","typescript":"^3.3.3333"},"dependencies":{},"gitHead":"2b8ab50ed67927a1012f1a69a9c49e5caccade18","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.10.0","_nodeVersion":"8.15.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-/rwa9Abf0SmTI03zkonVwECn5ejrIHL48r/0auD3U9NMpLUQoereX8bXgsb82SiotWgHc5scCTBUVBt59rVbjA==","shasum":"0bcfb76a89f1b58d81f8f301e33a83dc69e860bd","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.10.0.tgz","fileCount":29,"unpackedSize":38441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJch9wsCRA9TVsSAnZWagAAY4kP/A5xg0RNDy6ThntX0EPV\n4GU6prLpv7rbiEkUL3KOxsplNW+TP3Px4vCn+fYD4hivC14GTGPjRKmVXr1n\nF7q8DPm3LRJqmSCfgy4oBnQJe3jj/TcOuu7t83wG1uEPnWRr6vy1kgOU7Pqm\n40iP7JrOo2iMGnNgHv0Co7b6xWfeaH7AfMLBn1Kv4anJ6xwpfryqG/HkbaUR\nLLP8j5Qv6I3X+XTs2LSnahKd2KWj3ogz42n/wn6IckQ6aV6dXtvDrMsjVw2B\nz0WfKednPbKnDL0+6F+ey60nOVY8Ks6EkEBra3OC7pD4UzfsLythWqSvl8i0\nhGaLsnp8ePN6AG+9tJZDsgCPTo83tz6uX7GgvMlpxwcnIuxiP9vz1NSkOukL\nbJ4shruNprF5iN+IIj7yhF8NX/Ye1W/19WI9hZIcXrW9zoWevBQeh6P4QA7v\n/WlIpNzuh4OYRsUgGNkcp8DQwxA6Epauj1sKBRZbPM7HhTax6KasQkrphEm8\nVz1pNN3E3UmtuFyh/rveNzg95/BxSVdUo9ou/VQDGSfQ+DzdErSlxFi0bPj9\nhvM3r351anD/zKNhRL6zElZvDG5lim8QEqnKR7LeFsc9FTbFFLuyDMONFYxd\nq83146j/AeaR/aMhF24KLcJbLTsLWMGtw9Ub+j/G0GE9hN5kt09OiBgtfPTo\nEYzP\r\n=xaJf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8pq4uaUoGDnu1nJCapf5tZNEeUoXRoBmGvrQoPGrfzAiAL+nStN397h/YzYA6Gj1XdjnISdcHbNDmNYrmy3ABURA=="}]},"maintainers":[{"email":"nate@natesilva.com","name":"natesilva"},{"email":"nate@natesilva.com","name":"natevancouver"}],"_npmUser":{"name":"natesilva","email":"nate@natesilva.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit_0.10.0_1552407595923_0.4079399310394678"},"_hasShrinkwrap":false},"0.10.1":{"name":"p-ratelimit","version":"0.10.1","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"ava","coverage":"nyc --extension .ts --reporter lcov --reporter text ava","prepare":"del-cli build && tsc","prettier":"prettier --write \"{src,test}/**/*.?(ts|json)\""},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/node":"^12.0.7","@types/redis":"^2.8.13","ava":"^2.1.0","del-cli":"^2.0.0","fakeredis":"^2.0.0","np":"^5.0.3","nyc":"^14.1.1","prettier":"^1.18.2","testdouble":"^3.12.0","ts-node":"^8.2.0","tslint":"^5.17.0","typescript":"^3.5.1"},"dependencies":{},"gitHead":"60a9db6ea12d87ff5f97265416677edc6aad7530","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.10.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+8jMogWL8fY4eqbZZGzik+N/AsdO8c1hB+SE24syvdecxLcH6SUd2+oQGCKs1Y1x26vxA4Ht/cgeBDXeR5eieA==","shasum":"f5bcf54b424ec90b36e313363b778c5cdd625011","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.10.1.tgz","fileCount":28,"unpackedSize":38831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/qRVCRA9TVsSAnZWagAAWWkP/07byDVtgm6eWUzoBh6l\n26FNqrp5fqsnaaGJ1P4UG8aKbKk7raBtxgh7/UtQXVpYqCYinS6rtiNmcUPs\nW7eLytX9e+BMIK5e94hDdc59EVvmPXdPgMCUNMaMVtvFxCFvD5V9XUALcmgO\nopMalhvzWT8IiFCXWOUb4Yw9KqU5LV5ye9TZWu4sVBIcKTaEhLytiNS+8wIa\n41EH5KqZYgbUOgmohIr/IjjUqDe3V+2hn4WNDlNG176cLY+/Uj+nK0RgzzYc\ncekBwNIywV0claJdd+djTjheCaMAEJkx4hHjGu4vahd+H4DvXC9K/S/ykwd7\nuHcdCBYkriPD5CEKqkFat1c/H51HgZE7GiMczCwKCEa+PV9NUP7YfOGQ/TkK\nfJNzwwkOkcqReM0FUOlLkEF/GXFWPGV/mFv8reSc9hoGRhXjQd2FAPLuq+jn\nvU/YXQCxy+dlPepE6Re9rz7/XVVZkelAeOCj+lfFY7Cny22NL1niu0mo7xFt\nFrij/KUAnD/w7cGtwU5giisZA/Ahe7vco6mLu6AKMBhuvCLZtcI+wIDt1qZB\nrJ8W6FXl2x7L00yXv3wWSRS0HaNByNJIr6+gWmwe7wxx+TwIYHtO1ZOgBjzU\ng9Mcaq3tbnkbOgSDGSgUvr4pQFMeS2DLECcr7ek3nO2IVmGvaE6fFBg6R+ri\nEL6i\r\n=uNE3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLjgRPPkGK/cmQft3FwaUzz0EM4ng1BCDRAo8mDJ1QuAiEAlFa4X93B3bxGGwS7UxqPpAFRlIiMP7kCa92zFMsnz5I="}]},"maintainers":[{"email":"nate@natesilva.com","name":"natesilva"}],"_npmUser":{"name":"natesilva","email":"nate@natesilva.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit_0.10.1_1560192084789_0.06456327608745571"},"_hasShrinkwrap":false},"0.11.0":{"name":"p-ratelimit","version":"0.11.0","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"ava","coverage":"nyc --extension .ts --reporter lcov --reporter text ava","prepare":"del-cli build && tsc","prettier":"prettier --write \"{src,test}/**/*.?(ts|json)\""},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=6.10.3"},"devDependencies":{"@types/ioredis":"^4.0.13","@types/node":"^12.6.3","@types/redis":"^2.8.13","ava":"^2.2.0","del-cli":"^2.0.0","fakeredis":"^2.0.0","ioredis":"^4.11.2","np":"^5.0.3","nyc":"^14.1.1","prettier":"^1.18.2","testdouble":"^3.12.1","ts-node":"^8.3.0","tslint":"^5.18.0","typescript":"^3.5.1"},"dependencies":{},"gitHead":"443e79f7f433b361cc7882cc50e8fefc4fea3379","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@0.11.0","_nodeVersion":"10.16.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-ZnNEwvlMgW8RAGqi+hl1DB6FWa7305u/b0qAmsFSmAP0xbPxH80MhsmZpjFcbJLX00/NVcSp6/WeaLCZFwXlBw==","shasum":"693c1643c1172f73c26c71adc9790b600b4bce28","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-0.11.0.tgz","fileCount":28,"unpackedSize":38600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLMxvCRA9TVsSAnZWagAARsAP/iyj6+b34UvPNgXfZhgQ\n7EnUl34HOyEUCFKOWqdV+sKzuai48wZvQLViqDTbZimTLr/MrS1K2kESby+H\nk+y+DH5LoZjVpdvM6dkbPjq0uBsxMCDCEIZBqpInODfKRTvDteOts1qzo/3C\nfoOtbZYF57tBStD4CjglQrDwCeljHKIYr8Cs8c1JfTeK4VL7CHqLk0Hbx+3X\n0hKmDWcoJ9QFBpiRDUhcExkmyO2+NTeyAZCQ5cn1TxLn1PTNt+7pC50Yqi8b\n24qs9Gs4Ux2jgINYGy4H2PLF5ZhK6b+gTNdhlSjHGBKgpuKvp3ed+s60wAdv\nhVk2nDSVeLLhnNFGWiqMctpNMRCVU8MznPe7hckm5enq4QueiKeo/FHRU7sp\n32So2RA50o220tQqJsKDdmuytlbR/+QzCBfzq4M5dMgt7U4UJRWino/IqZO7\nM/OWUrxK/HGhcZ8vPs5UVoQYp4wu0GcjpdiMkN6GlYS4XwPQtoJWszIu1jwv\nC1zNY50WJi+qgCDONzQF6iw+DTWAO4B8r+xmlNbLoA0dhrZRtHn5dCSDBeC8\nNQ5UqrA0/kv/lwhCwkRicLcACYsD3Bwre3P7MGzP2X2hUpm3BHXIziLg9F4w\n/rPMyHArW0yWZJ/666VSlht7nemquZrx7Zt560liVM2lQAJ5jcgA3Nk6eZ0P\ny/JQ\r\n=P/KR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRY+5RflWy2vDmq92SZveN16Et2OWq5GojYT+H7cD8MgIgIj4/+qssVTkSOfp08PSbvdkzbslKbhR+zXzC9zxh+cA="}]},"maintainers":[{"email":"nate@natesilva.com","name":"natesilva"}],"_npmUser":{"name":"natesilva","email":"nate@natesilva.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit_0.11.0_1563217006304_0.10414424575948211"},"_hasShrinkwrap":false},"1.0.0":{"name":"p-ratelimit","version":"1.0.0","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"ava","coverage":"nyc --extension .ts --reporter lcov --reporter text ava","prepare":"del-cli build && tsc","prettier":"prettier --write \"{src,test}/**/*.?(ts|json)\""},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=10.23.0"},"devDependencies":{"@types/ioredis":"^4.17.8","@types/node":"^10.17.48","@types/redis":"^2.8.28","ava":"^3.14.0","del-cli":"^3.0.1","fakeredis":"^2.0.0","ioredis":"^4.19.2","np":"^7.0.0","nyc":"^15.1.0","prettier":"^2.2.1","testdouble":"^3.16.1","ts-node":"^9.1.1","tslint":"^6.1.3","typescript":"^4.1.2"},"dependencies":{},"volta":{"node":"10.23.0","npm":"6.14.9"},"gitHead":"f98ad09fbc7e7e84166be1a6d541c91f2c7fb5cb","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@1.0.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.9","dist":{"integrity":"sha512-iBsNzTRU8MALuD+/aY5dN73Hvkgis9EL09rPxOS0uiE9pTTL3vYloVBvjNbvJTvZatB3Z1kJY6qodhdcJh6DfQ==","shasum":"459a14574a66e9e243eb4eda0981c8ffd2aa07e4","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-1.0.0.tgz","fileCount":28,"unpackedSize":39448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0pelCRA9TVsSAnZWagAAC30P+waUUkPBoEBKdMWst/3r\no17AVcBVif8/IRZGDcEX59OG0pChggEavvd16YHTMfIjN+RzHy+bXxSu8Dhx\nH0xdlsUL6Rlf5/sdKIrlaLpWeErpSm8qU9gus4/IXBakWINboUGL3eHebeIw\nVPDlwLaasMF9mKNOgBAKZoojGdMsKQVle+0h3WxK/yTPCbjzeyLvwMkSmzmL\nIB9wUwQRuT/HzSEWBlhnuLugRzUlIjyxoshVm2IyQKtIPWVxf2EQGpTIf+g/\naw3CCKFKajMYTfmWI3rYoKTP5IgRjA96zSj0fFYbmkUNytUgFL3ft/xWlOZl\nUuCoXZuIUrPD9Zeyw5g7/ov2bZghg4gFxW3zw0bK4LGjvJUFp3lQDvSZ2SK5\nHB8FDZgNsC0UDrwKl0JpNv28pk6SKTIt/TCOWiiiic4/F0NiAPlTQn8pRGlm\na/R3SlmIACTIOyEqmymyvAARDmBpGw+iM+Ou8qXzVlaEELbty9T1No231TMT\nvm493ofDA1OjajTIN53ZT8L7adA0PhFPr/OJl/h9RrYK7Dc6rhsQeD/aXPcR\n7F9H6hvDAK38a8OMFGRkW4g1d4RxFOR2UR4AB4jQP6yVsU2WcVZZOKFPWtxz\nW/EfbBsBf7oLroDjkFWJndYcWCRyIjRG7wqUiOR3Niqgi9YJmyPelLP79qeC\nKF/0\r\n=nyoa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHvG7KTqZ7rzOk6OX6MW74R/tMmGt8wYnlEg895l9bQAAiAfAuyNO5kpw1vg1nflsCjgG6IhDtXNR5zinZQD7MYCvA=="}]},"_npmUser":{"name":"natesilva","email":"nate@natesilva.com"},"directories":{},"maintainers":[{"name":"natesilva","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit_1.0.0_1607636900758_0.09259130698381068"},"_hasShrinkwrap":false},"1.0.1":{"name":"p-ratelimit","version":"1.0.1","description":"Promise-based utility to make sure you don’t call rate-limited APIs too quickly.","repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"license":"MIT","author":{"name":"Nate Silva","email":"nate@natesilva.com"},"main":"build/src/index.js","types":"build/src/index.d.ts","scripts":{"test":"ava","coverage":"nyc --extension .ts --reporter lcov --reporter text ava","prepare":"del-cli build && tsc","prettier":"prettier --write \"{src,test}/**/*.?(ts|json)\""},"keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"engines":{"node":">=10.23.0"},"devDependencies":{"@types/ioredis":"^4.17.8","@types/node":"^10.17.48","@types/redis":"^2.8.28","ava":"^3.14.0","del-cli":"^3.0.1","fakeredis":"^2.0.0","ioredis":"^4.19.2","np":"^7.0.0","nyc":"^15.1.0","prettier":"^2.2.1","testdouble":"^3.16.1","ts-node":"^9.1.1","tslint":"^6.1.3","typescript":"^4.1.2"},"dependencies":{},"volta":{"node":"10.23.0","npm":"6.14.9"},"gitHead":"49f603fab899e9350fabf43341567f1c819b5990","bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","_id":"p-ratelimit@1.0.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.9","dist":{"integrity":"sha512-tKBGoow6aWRH68K2eQx+qc1gSegjd5VLirZYc1Yms9pPFsYQ9TFI6aMn0vJH2vmvzjNpjlWZOFft4aPUen2w0A==","shasum":"a07fb2419f9811feb99fb687f97e00aa0244ac3e","tarball":"https://registry.npmjs.org/p-ratelimit/-/p-ratelimit-1.0.1.tgz","fileCount":28,"unpackedSize":39330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7jF1CRA9TVsSAnZWagAA2zwQAIfZwdv6N+l9rBJV83Lf\n+/PY5cu5cetXXLiqO7s3m0NrB8CDFHH2EwcmAbcOAVM5rhluDL3OZC4vI48g\nrfEkSkk2j/s3NoABsR8jBNqovUNU3VyGAzeDRiwVuH/5WZ3zK0/hl61Pklke\nFvAFQNXrPgPxcslRKGScTDNv1LdZs94nbb6/KlnfBrPT46EXge2a1lkkCPwO\nPpWC/n13CXFAaU5DEejnErT2ay1tG8s3K34YBdWTVu0r3jj5nyzfKRaiuZqR\nuKlheGYwenjktqHfJTZggsT5+nhi/Ip/zxNOaqZw91XINFA3DaQlBWJ4t7Qe\nghWkzhgb/5wtrWRjc6Ymtu0aLua8cgeVkbyXNxAO+lbGtI4DeshW2YKsi3Qe\n+/OHaZkzJDsk5PnpQNAN5lseLWxiKreMEceqxRZQAVAVMhmxGVdSDHpA22Lh\nChvJ3G9epWAhJNH6ig2jdcnO+buDtjPqWijFCbcqKw41WAHb4e6J0Yg+FhTW\nAYCPj5owGkl7Wq1SZjM5GaUQutNEOFjycVHXEIfgpvGB/mqN//n9H5QAe4Fr\nxjdoJI98iHN8KDsW/YsJR/Yk0Oaht/cuoPGM1Sk4aQsu3Z5zYJgFwmUr+bRG\noQbMjk8keOf/cbdriWADxjPcXC8oPWPpjf2By5V8QV4tb06G/OIL7KeXCoC8\nA3qP\r\n=OV9W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXxAXOthGrgEZKlHxAOsgBJH9saOAIZQLdpm0btPfF7AiEAw8DyzhoNQL617k63vCuUQUbClfnY8jlYZvbtmmC7UxE="}]},"_npmUser":{"name":"natesilva","email":"nate@natesilva.com"},"directories":{},"maintainers":[{"name":"natesilva","email":"nate@natesilva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/p-ratelimit_1.0.1_1609445748866_0.503019484752337"},"_hasShrinkwrap":false}},"readme":"# p-ratelimit [![npm](https://img.shields.io/npm/v/p-ratelimit.svg)](https://www.npmjs.com/package/p-ratelimit) [![license](https://img.shields.io/github/license/natesilva/p-ratelimit.svg)](https://github.com/natesilva/p-ratelimit/blob/master/LICENSE) [![node](https://img.shields.io/node/v/p-ratelimit.svg)](https://www.npmjs.com/package/p-ratelimit)\n\n> Makes sure you don’t call rate-limited APIs too quickly.\n\nThis is an easy-to-use utility for calling rate-limited APIs. It will prevent you from exceeding rate limits by queueing requests that would go over your rate limit quota.\n\nRate-limits can be applied across multiple servers if you use Redis.\n\nIt works with any API function that returns a Promise.\n\n## Install\n\n```\n$ npm i p-ratelimit\n```\n\n## What’s different\n\n* **True rate limiting**\n    * Utilities like [p-limit](https://github.com/sindresorhus/p-limit) control how many functions are running concurrently. That won’t prevent you from exceeding limits on APIs that use token-bucket throttling.\n    * **p-ratelimit** supports both concurrency and rate limits.\n* **Works across API families**\n    * Utilities like [Lodash throttle](https://lodash.com/docs#throttle) create separate quotas for each API function.\n    * **p-ratelimit** can enforce a single shared quota for all functions in an API family.\n* **Minimal implementation**\n    * Utilities like [limiter](https://github.com/jhurliman/node-rate-limiter) provide low-level tooling that requires you to manage tokens and provide your own queue.\n    * **p-ratelimit** requires minimal modification to your existing code.\n* **Distributed rate limits**\n    * If you use Redis, **p-ratelimit** supports efficient rate limiting across multiple hosts. The quota is divided among your pool of servers. As servers are added or removed, the shared quota is recaclulated.\n* **Made for Promises and TypeScript friendly**\n    * A rate-limited function returns the same Promise type as the original function.\n\n## Example\n\n```javascript\nconst { pRateLimit } = require('p-ratelimit');\n// import { pRateLimit } from 'p-ratelimit';       // TypeScript\n\n// create a rate limiter that allows up to 30 API calls per second,\n// with max concurrency of 10\nconst limit = pRateLimit({\n    interval: 1000,             // 1000 ms == 1 second\n    rate: 30,                   // 30 API calls per interval\n    concurrency: 10,            // no more than 10 running at once\n    maxDelay: 2000              // an API call delayed > 2 sec is rejected\n});\n\nasync function main() {\n  // original WITHOUT rate limiter:\n  result = await someFunction(42);\n  // with rate limiter:\n  result = await limit(() => someFunction(42));\n}\n\nmain();\n```\n\n## Configuration\n\nThe `Quota` configuration object passed to `pRateLimit` offers the following configuration settings:\n\n### If you care about rate limiting\n\nSet both of these:\n\n* `interval`: the interval over which to apply the rate limit, in milliseconds\n* `rate`: how many API calls to allow over the interval period\n\n### If you care about limiting concurrency\n\n* `concurrency`: how many concurrent API calls to allow\n\n### If you care about both rate limiting and concurrency\n\nIf you want both rate limiting and concurrency, use all three of the above settings (`interval`, `rate`, `concurrency`).\n\n### Other options\n\n* `maxDelay`: the maximum amount of time to wait (in milliseconds) before rejecting an API request with `RateLimitTimeoutError` (default: `0`, no timeout)\n* `fastStart` (Redis only): if true, immediately begin processing requests using the full quota, instead of waiting several seconds to discover other servers (default: `false`)\n\nIf you make an API request that would exceed rate limits, it’s queued and delayed until it can run within the rate limits. Setting `maxDelay` will cause the API request to fail if it’s delayed too long.\n\nSee the [Using Redis](https://github.com/natesilva/p-ratelimit/blob/master/UsingRedis.md) section for a discussion of the `fastStart` option.\n\n## Distributed rate limits\n\nSee [Using Redis](https://github.com/natesilva/p-ratelimit/blob/master/UsingRedis.md) for a detailed discussion.\n\nYou can use Redis to coordinate a rate limit among a pool of servers.\n\n```javascript\nconst { pRateLimit, RedisQuotaManager } = require('p-ratelimit');\n\n// These must be the same across all servers that share this quota:\nconst channelName = 'my-api-family';\nconst quota = { rate: 100, interval: 1000, concurrency: 50 };\n\n// Create a RedisQuotaManager\nconst qm = new RedisQuotaManager(\n    quota,\n    channelName,\n    redisClient\n);\n\n// Create a rate limiter that uses the RedisQuotaManager\nconst limit = pRateLimit(qm);\n\n// now use limit(…) as usual\n```\n\nEach server that registers with a given `channelName` will be allotted `1/(number of servers)` of the available quota. For example, if the pool consists of four servers, each will receive 1/4 the available quota.\n\nWhen a new server joins the pool, the quota is dynamically adjusted. If a server goes away, its quota is reallocated among the remaining servers within a few minutes.\n\n## License\n\nMIT © Nate Silva\n","maintainers":[{"name":"natesilva","email":"nate@natesilva.com"}],"time":{"modified":"2022-06-23T05:50:36.647Z","created":"2017-10-19T18:32:42.147Z","0.7.0":"2017-10-19T18:32:42.147Z","0.8.0":"2017-10-19T18:54:12.204Z","0.8.1":"2017-10-19T18:56:53.450Z","0.8.2":"2017-10-19T20:49:19.207Z","0.8.3":"2017-10-19T21:10:09.531Z","0.9.0":"2017-10-23T17:01:09.432Z","0.9.1":"2017-10-23T17:04:37.661Z","0.9.2":"2017-10-23T18:46:53.711Z","0.9.3":"2017-10-23T23:34:33.852Z","0.9.4":"2017-10-25T22:23:23.627Z","0.9.5":"2017-10-25T22:51:35.596Z","0.10.0":"2019-03-12T16:19:56.118Z","0.10.1":"2019-06-10T18:41:24.928Z","0.11.0":"2019-07-15T18:56:46.446Z","1.0.0":"2020-12-10T21:48:20.935Z","1.0.1":"2020-12-31T20:15:49.092Z"},"homepage":"https://github.com/natesilva/p-ratelimit#readme","keywords":["ratelimit","concurrency","promise","promises","limit","throttle","tokenbucket"],"repository":{"type":"git","url":"git+https://github.com/natesilva/p-ratelimit.git"},"author":{"name":"Nate Silva","email":"nate@natesilva.com"},"bugs":{"url":"https://github.com/natesilva/p-ratelimit/issues"},"license":"MIT","readmeFilename":"README.md","users":{}}