{"_id":"@akinolae/node-rate-limiter","_rev":"11-103a25a381755cb6f2daeac5cd9f7eb4","name":"@akinolae/node-rate-limiter","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.1":{"name":"@akinolae/node-rate-limiter","version":"1.0.1","keywords":["Limiter","rate"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.1","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"dist":{"shasum":"bebdef52a6f7055ac37b9ad90a21f9c3187eb9d0","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.1.tgz","fileCount":17,"integrity":"sha512-WHkAe9dA62B/jrQDLeU0uNB7JUFCEWOHshVXxVQKNuD8ucWEKOivPCRAsdx2nju/fm51TtVsxN41S8jyaDT1lg==","signatures":[{"sig":"MEUCICWd5mcL7eeoxgoWsbVkT6S3khYEc70hpzy0M+Csx+RtAiEAhXjOcROso3RARWkXgQiW9vXQ41BzU+UA6PPzGvl8zE0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46244},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e10d3e2b350ed9357842eaf3238eed813d49cd5d","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.1_1736369481578_0.5884145261823663","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@akinolae/node-rate-limiter","version":"1.0.2","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.2","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"dist":{"shasum":"318dc14da7472dbb6e07c8c498344bb2b725e9e4","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.2.tgz","fileCount":18,"integrity":"sha512-3QI2oqelEOfu2IpevdapYck+udgsVUbgmobSTSXlf1QcpUKRWFKIklhVC8zH390STH4b7wGxaOMGl43Dr+08YA==","signatures":[{"sig":"MEUCIQCsc6AhG6T3MKY7pR4Kgge5FtirDyLdTV9DV5zSdP8lcgIgRyshM4Wzr5fypAyuv+ZNW+qkdW9lHQhuhEfJOOPOy8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47948},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9958ea69be615bbec7a203f7858e4cdefef50c80","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.2_1736371485000_0.6057386779458773","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@akinolae/node-rate-limiter","version":"1.0.3","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.3","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"baecdbda8d4ff38d7b1acb9daafc526c5c386759","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.3.tgz","fileCount":18,"integrity":"sha512-em8JcnArMsBrLPKkOtJHKcWXAvTrFNgdxSdVVT4iLqYI13nMigBgE3ai54YN9LP4vj4pi8ugB3BGszxFvsqwtg==","signatures":[{"sig":"MEQCICzo89ozkk5U3qtiDVzB4Jv8zSEnWinYH/CnEsncx5rqAiAyH8dMoPq4PA0r2qfvJP61REk3iZG/xMpugG8qe4RgTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48053},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"40f80b897fdbb9ff74cdb8c009bdd84652ac9cd1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.3_1736371821873_0.589353560728203","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@akinolae/node-rate-limiter","version":"1.0.4","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.4","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"bf43c5aa9d30ee2da2f390afb5a442682f8c8531","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.4.tgz","fileCount":18,"integrity":"sha512-/RcN62V59fQztFgSuV3j/z5X5e1+ofzK6gqNkyNoSAqZ4msNIFmJOS28FO053D+EMdXqLw+NiI72mCvpU/Lueg==","signatures":[{"sig":"MEUCIQCo2IiOmj1EryQkogvJ7OqgEI9nqiooB1M84m83branAAIgDE00y7iPGFL+Dp4dTkMjetsGuSGFLJ1DyQ18tCSO19Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48029},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"16799d8eae5a8b91b1bd5fd560eb27f59eab91d7","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.4_1736371903486_0.6020095836991155","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@akinolae/node-rate-limiter","version":"1.0.5","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.5","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"c9cb0dddf70240c2e0b444b55ef571fbbae62a50","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.5.tgz","fileCount":18,"integrity":"sha512-ij76nJEU7OgFHRdSnI4Ga5Y54/0uO57qY2ZMBzuHpeJD1pDmv0vL2lMA5Nv5Aig2340pIiRmM18UhvFQZIcAQQ==","signatures":[{"sig":"MEUCIAssw+ZKBQWNo6np6pney0BPCrYLNWziWNLUEYEQvzjFAiEA6zLryTvgcTqn9cXjxRFfsiRcDzVR/B2pZvtorhHN39s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48008},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"90020c5f985681d4875ae1b0617bc59f2f5ca0d1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.5_1736559157170_0.3093437644500254","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@akinolae/node-rate-limiter","version":"1.0.6","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.6","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"60d4f7bab0cd94f1776a4b86447c44b7bb7443e1","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.6.tgz","fileCount":18,"integrity":"sha512-ptUihKaXfsnbNo5YOTq6FBD8RcY9NF4qTFxkZUkvY9lVgm8FqPqis4sPRYou9T696MO9dIOsL1Ww2XXGn9UJGQ==","signatures":[{"sig":"MEUCIFgItClVzIKlQjB+aMbD7Tlcj1R/w3z3kQz+w9hwN1jsAiEAwfa7LKUM7W5w93AuroN/CKDJol8SQpIJWhCSQ6Hsr8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48069},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"010ebecd3b5c48c155ab12b7d829e8d89181fa2a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.6_1736627140957_0.6814408480131422","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@akinolae/node-rate-limiter","version":"1.0.7","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.7","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"96987ae358d80c02d113954cea8bedb2f78b769d","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.7.tgz","fileCount":18,"integrity":"sha512-RaIDiRLjPfhWvjX9X4JaL0HYq35PP8sgo47W1+g4JRSHyrJ6pSeInwGcp/E/wW64CfYSYSWtAspes4anrfXmBQ==","signatures":[{"sig":"MEQCIDTitC44qN5MACRqr6kJ8qDSrclOxv7hOQvara2u1CjVAiB8ib9TDcpJ3OvF3u44B/stB6mxmju+uiByak0Xzo5VbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48067},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6a51cb428096c70fc7d881c2dfac9510da97bdf3","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.7_1736629586015_0.1243244013348348","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@akinolae/node-rate-limiter","version":"1.0.8","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.8","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"03023c837383855f68e51b7e4ed6fce52e821d1a","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.8.tgz","fileCount":18,"integrity":"sha512-dHxIhxlQdXS4OGEIU63dRcBwmrf3MQZsE4XQEYPzeGNDGdKELkg6htESfDhkBaLdPpiL0b/T0Is66wBs/K27Lg==","signatures":[{"sig":"MEQCIB09WnI3+L6uHkwqgrvhaMBvpOkNcZ99UJxD51qwEgZeAiAUgzcE51MG9Ky2goK/BUKZU7+4saCIQYKPLetykdJALA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48053},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f169227720336ab9ec3c3f7280131873571565f9","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.8_1736630035909_0.48586083970175253","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@akinolae/node-rate-limiter","version":"1.0.9","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.9","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"8a28bceab59adeaa779a516d4f57568f3dfbd028","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.9.tgz","fileCount":18,"integrity":"sha512-Ck9RFJnh0Fs6j6exqoztMDxnfFAxPCdIsMG22ij3dANhDnr9NWX8B/GSMm61RJEnu5akcJVmwr2rLPpHUnXEcw==","signatures":[{"sig":"MEUCIQDANmEkrFe3zBhi2GYPm2hhMuSgMGKXS8QgzHZROmJHfgIgZZ0aDpSYVTRb5ueNyKGAsJIp5lS7WDHp3NCobDQ9uGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48078},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6dc7cdb94b631ece83c6427b42ab9131f3c1e0d1","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.9_1736630138977_0.16634434851027824","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@akinolae/node-rate-limiter","version":"1.0.10","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.10","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"06bcec36d96ed1b0b950f120b0b992606874197f","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.10.tgz","fileCount":17,"integrity":"sha512-RfNFbHMth4B7ADzu6bAviQTijI5XaM0PJ89wCeRnn57oKRJVx1T96oURqT9HnSUYXB+rMEnupw6byY4trq5Ppg==","signatures":[{"sig":"MEYCIQDIH+S4dsFLLO7kU/CvrgkVZ5B/cW2rDAxm6LJPpgd/ZgIhAIJnKPmgSd1oOJ1ErIhYiLMdTBlDYnWcjyTLSjklLdgI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47689},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f2c5f8ca2822eb5ec027293ef34af3d625e85f1b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.10_1736633982074_0.10506568731703436","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@akinolae/node-rate-limiter","version":"1.0.11","keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","_id":"@akinolae/node-rate-limiter@1.0.11","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"dist":{"shasum":"94e79040b7838c00413d9e7325ba215b52cc4d5c","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.11.tgz","fileCount":15,"integrity":"sha512-iXXyGm7MrzmY2wGyc/huStPfWMKSsfdNMGmP8DEFtC9yKA/gZN2sxKdK/bAD835P2h4/31JjIMub4+b5BrugxA==","signatures":[{"sig":"MEQCIEQfXzJUc7DRR5Lh6b022nlSrpo3QAzdnzNfMyVdhJFBAiBuj/oZerJKMam+W5UYZP8967T2TwruuAT4JfooAMLxaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47016},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d85566c01b2494679b20abda666ce529995ed34d","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"repository":{"url":"git+https://github.com/Akinolae/node-rate-limiter.git","type":"git"},"_npmVersion":"10.9.0","description":"Rate limiter","directories":{},"_nodeVersion":"23.3.0","dependencies":{"express":"^4.21.2","typescript":"^5.7.2","@types/node":"^22.10.5","@types/express":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-rate-limiter_1.0.11_1736636281811_0.5983053559404565","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@akinolae/node-rate-limiter","version":"1.0.12","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"keywords":["Limiter","rate","ttl"],"author":{"name":"Akinola Makinde"},"license":"ISC","description":"Rate limiter","repository":{"type":"git","url":"git+https://github.com/Akinolae/node-rate-limiter.git"},"dependencies":{"@types/express":"^5.0.0","@types/node":"^22.10.5","express":"^4.21.2","typescript":"^5.7.2"},"_id":"@akinolae/node-rate-limiter@1.0.12","gitHead":"bb6d5bc3fd79d54f7f5751c9d7a0dca96838c903","bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"homepage":"https://github.com/Akinolae/node-rate-limiter#readme","_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-6F1rRhbP8OJ4Un3kvLTd1C6A3XLbXyXw6CwOjYBW6rdZF8FoaTlkYq3bpS32bSEkGUpOhoU3EW8IYaXRq2RJVw==","shasum":"f22a4e3cd2158f1382fbabcccc34d46986eeb6f6","tarball":"https://registry.npmjs.org/@akinolae/node-rate-limiter/-/node-rate-limiter-1.0.12.tgz","fileCount":15,"unpackedSize":47570,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHb3fxe+BBzL+0BsnVqe6bhOHhhNAhRKB5bARv5J8lXNAiAL5GHPz/vQnrUACXZDUzU0ZhuKu/imju4+qITh/ilv5w=="}]},"_npmUser":{"name":"akinolae","email":"makindeakinola22@gmail.com"},"directories":{},"maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-rate-limiter_1.0.12_1736638043261_0.04226673703751982"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-08T20:51:21.445Z","modified":"2025-01-11T23:27:23.653Z","1.0.1":"2025-01-08T20:51:21.803Z","1.0.2":"2025-01-08T21:24:45.175Z","1.0.3":"2025-01-08T21:30:22.070Z","1.0.4":"2025-01-08T21:31:43.682Z","1.0.5":"2025-01-11T01:32:37.364Z","1.0.6":"2025-01-11T20:25:41.203Z","1.0.7":"2025-01-11T21:06:26.291Z","1.0.8":"2025-01-11T21:13:56.111Z","1.0.9":"2025-01-11T21:15:39.135Z","1.0.10":"2025-01-11T22:19:42.372Z","1.0.11":"2025-01-11T22:58:02.013Z","1.0.12":"2025-01-11T23:27:23.455Z"},"bugs":{"url":"https://github.com/Akinolae/node-rate-limiter/issues"},"author":{"name":"Akinola Makinde"},"license":"ISC","homepage":"https://github.com/Akinolae/node-rate-limiter#readme","keywords":["Limiter","rate","ttl"],"repository":{"type":"git","url":"git+https://github.com/Akinolae/node-rate-limiter.git"},"description":"Rate limiter","maintainers":[{"name":"akinolae","email":"makindeakinola22@gmail.com"}],"readme":"# @akinolae/node-rate-limiter\n\n## `Description`\n\nThe @akinolae/node-rate-limiter package provides an efficient and flexible solution for controlling the frequency of API requests or other operations. It helps developers prevent excessive usage, safeguard system resources, and ensure compliance with rate-limiting policies.\n\nThis package is particularly useful for managing API usage, protecting backend services from overload, and maintaining fair usage across users or clients.\n\n```\nnpm i @akinolae/node-rate-limiter\n```\n\n```\nyarn add @akinolae/node-rate-limiter\n```\n\n---\n\n# Usage\n\nDocuments are **groups of pages** connected through:\n\n## `express.js`\n\nUsage with express.js node.js\n\n```jsx title=\"auth/index.ts\"\nimport { requestLimitCore } from '@akinolae/node-rate-limiter';\n\nconst makeRequest = async (req: Request, res: Response) => {\n  try {\n    /***\n     * Can make it a middleware for authenticated requests\n     *\n     */\n\n    requestLimitCore({\n      request: req,\n      session_no: 6,\n      ttl: 6 * 60 * 1000,\n    });\n\n    // auth calls go here\n  } catch (e) {\n    throw e;\n  }\n};\n```\n\n## `@nestJS`\n\nUsage with @nestJs and graphQL\n\n```jsx title=\"auth/index.ts\"\nimport { requestLimitCore } from '@akinolae/node-rate-limiter';\nimport { ExecutionContext } from '@nestjs/common';\n\nconst makeRequest = async (context: ExecutionContext) => {\n  try {\n    /***\n     * Can make it a middleware for authenticated requests i.e auth-guard\n     *\n     */\n\n    requestLimitCore({\n      request: context.getArgByIndex(2).req,\n      session_no: 6,\n      ttl: 6 * 60 * 1000,\n    });\n\n    // auth calls go here\n  } catch (e) {\n    throw e;\n  }\n};\n```\n\n### Configuration\n\n| Option     | Type     | Description                                                                    |\n| ---------- | -------- | ------------------------------------------------------------------------------ |\n| ttl        | `number` | time to live `optional`                                                        |\n| session_no | `number` | The number of times a request can be called `optional`                         |\n| request    | `object` | The request object that carries the metadata of an incoming request `required` |\n","readmeFilename":"README.md"}