{"_id":"@abhinavsrivastava_119/rateflow-core","_rev":"5-641ceef908d47261505683e6f6947f8c","name":"@abhinavsrivastava_119/rateflow-core","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@abhinavsrivastava_119/rateflow-core","version":"1.0.0","keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","_id":"@abhinavsrivastava_119/rateflow-core@1.0.0","maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"homepage":"https://github.com/rateflow/core#readme","bugs":{"url":"https://github.com/rateflow/core/issues"},"dist":{"shasum":"1bf58a16e92496c351f92e02188a88a61925d85b","tarball":"https://registry.npmjs.org/@abhinavsrivastava_119/rateflow-core/-/rateflow-core-1.0.0.tgz","fileCount":11,"integrity":"sha512-y2vPpgyH/hFmW5jVw9lDG2+FsbIjrJSeSVoieYp1jGjrMk7MDuIi7RSyrnTLEuc2FQ1cW2D58QVHwcbCr1IFNQ==","signatures":[{"sig":"MEQCIFOZbSzowtMbQpU0GZ5zGA31Sx+BNDDeF8SpkJv8KYl1AiBeZERG4EZIvdI/qd3MyXY5T/smtl6PmlQqRDxSfH03sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8823},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"},"repository":{"url":"git+https://github.com/rateflow/core.git","type":"git"},"_npmVersion":"11.6.2","description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.1","typescript":"^5.9.3","@types/node":"^25.2.2"},"_npmOperationalInternal":{"tmp":"tmp/rateflow-core_1.0.0_1770577769386_0.016411984450459993","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@abhinavsrivastava_119/rateflow-core","version":"1.0.3","keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","_id":"@abhinavsrivastava_119/rateflow-core@1.0.3","maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"homepage":"https://github.com/rateflow/core#readme","bugs":{"url":"https://github.com/rateflow/core/issues"},"dist":{"shasum":"b2f06a422854315ed7238ce6dc14b459ec1f518b","tarball":"https://registry.npmjs.org/@abhinavsrivastava_119/rateflow-core/-/rateflow-core-1.0.3.tgz","fileCount":12,"integrity":"sha512-hktk++cz2f5GKKnOrfZpcD5SkyA676AQQtN4MOECgMUVjCnuV5i2cyscuSLGF2bG1ikV+CcOclLr7bBrJAtmCA==","signatures":[{"sig":"MEQCIDjQ5iIAZ1BFuqmICzVjB89miDfcPDnMSwuixaaKzM5QAiBLvKPncONHa9qCwjFho5+nvE9uvVAZz3k2P8RCWSvvpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10524},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"},"repository":{"url":"git+https://github.com/rateflow/core.git","type":"git"},"_npmVersion":"11.6.2","description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.1","typescript":"^5.9.3","@types/node":"^25.2.2"},"_npmOperationalInternal":{"tmp":"tmp/rateflow-core_1.0.3_1770578005136_0.2866062481649909","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@abhinavsrivastava_119/rateflow-core","version":"1.0.5","keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","_id":"@abhinavsrivastava_119/rateflow-core@1.0.5","maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"homepage":"https://github.com/rateflow/core#readme","bugs":{"url":"https://github.com/rateflow/core/issues"},"dist":{"shasum":"62eff6229344e659110c311bb84c409a39451021","tarball":"https://registry.npmjs.org/@abhinavsrivastava_119/rateflow-core/-/rateflow-core-1.0.5.tgz","fileCount":12,"integrity":"sha512-BJThc+KcP/5e4aLvCBCsgUgTHbEcThkj1nA6f82nFbXp6Ge5CyX8+mPkU+DuM6biyEhxxxcmvvD1VBIE+RMXZA==","signatures":[{"sig":"MEUCIQDGtQ6zwbPWMmUjcS0R0+Ff8226Jxd7sH2xYSh+SAOefgIgceWrlBrqY3ZAx4zu2JXu2hkBuafZUYtzII0yEdIMD9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10524},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"},"repository":{"url":"git+https://github.com/rateflow/core.git","type":"git"},"_npmVersion":"11.6.2","description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.1","typescript":"^5.9.3","@types/node":"^25.2.2"},"_npmOperationalInternal":{"tmp":"tmp/rateflow-core_1.0.5_1770578092075_0.140801055622243","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@abhinavsrivastava_119/rateflow-core","version":"1.0.7","keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","_id":"@abhinavsrivastava_119/rateflow-core@1.0.7","maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"homepage":"https://github.com/rateflow/core#readme","bugs":{"url":"https://github.com/rateflow/core/issues"},"dist":{"shasum":"aec568f012b4ed0f5d239148dc8b351f80bce5f2","tarball":"https://registry.npmjs.org/@abhinavsrivastava_119/rateflow-core/-/rateflow-core-1.0.7.tgz","fileCount":12,"integrity":"sha512-lCVfhOCMNJ026jI/5xsGKZ0UvxK0y4ZyDhpiHNWpjC+i73iyps8XyijsUgvIhMZHl9FFXykqEgEfloBN1EN5wQ==","signatures":[{"sig":"MEQCIER8W+mTgopaVv74sv7ZBaTJnT5SEDHYJZNg+kmVWy8FAiAXT4hVeGW7bcedA+4vtzeYnqd4GgH8MS3nsAeEkyrc4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10504},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"},"repository":{"url":"git+https://github.com/rateflow/core.git","type":"git"},"_npmVersion":"11.6.2","description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.1","typescript":"^5.9.3","@types/node":"^25.2.2"},"_npmOperationalInternal":{"tmp":"tmp/rateflow-core_1.0.7_1770578135654_0.6124798201458996","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@abhinavsrivastava_119/rateflow-core","version":"1.0.9","description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","publishConfig":{"access":"public"},"keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"repository":{"type":"git","url":"git+https://github.com/rateflow/core.git"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","test":"vitest run"},"devDependencies":{"@types/node":"^25.2.2","typescript":"^5.9.3","vitest":"^1.6.1"},"_id":"@abhinavsrivastava_119/rateflow-core@1.0.9","bugs":{"url":"https://github.com/rateflow/core/issues"},"homepage":"https://github.com/rateflow/core#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-QxveL3LTSMb8/gK3Eyt5m6Tjli9P0qDNi9qfHtgwxJHyV/OI81sQQwajyb/6IYX2UdIGOXOhIVxmapAMEIQFHw==","shasum":"324891cb0719317b27f7e96e2ccd1724d0a53fb6","tarball":"https://registry.npmjs.org/@abhinavsrivastava_119/rateflow-core/-/rateflow-core-1.0.9.tgz","fileCount":12,"unpackedSize":10503,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGhRBp1U0ts0tGUD5PTn3O9KgteeXteDR6M9/idT7LpEAiEAwAwOvvm/753tr7giLc5lZVZ5dWyJhn9uuiDyi+hXl8s="}]},"_npmUser":{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"},"directories":{},"maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rateflow-core_1.0.9_1770578227922_0.1071996628433518"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T19:09:29.295Z","modified":"2026-02-08T19:17:08.225Z","1.0.0":"2026-02-08T19:09:29.555Z","1.0.3":"2026-02-08T19:13:25.277Z","1.0.5":"2026-02-08T19:14:52.223Z","1.0.7":"2026-02-08T19:15:35.803Z","1.0.9":"2026-02-08T19:17:08.099Z"},"bugs":{"url":"https://github.com/rateflow/core/issues"},"author":{"name":"Abhinav Srivastav","email":"srivastavabhinav556@gmail.com"},"license":"MIT","homepage":"https://github.com/rateflow/core#readme","keywords":["rate-limit","token-bucket","leaky-bucket","sliding-window","throttle"],"repository":{"type":"git","url":"git+https://github.com/rateflow/core.git"},"description":"A high-performance, zero-dependency rate limiting library for Node.js and the browser.","maintainers":[{"name":"abhinavsrivastava_119","email":"srivastavabhinav556@gmail.com"}],"readme":"# RateFlow 🛡️\nA high-performance, zero-dependency rate-limiting library for Node.js and modern browsers. Built with TypeScript for type safety and predictability.\n\n## Features\n- ⚡ **Zero Dependencies**: Lightweight and fast.\n- 🔄 **Multiple Algorithms**:\n  - **Token Bucket**: Handle conflicting traffic with burst allowances.\n  - **Leaky Bucket**: Smooth out traffic spikes into a constant flow.\n  - **Sliding Window**: Precise, time-based limiting without window boundary issues.\n- 🟦 **TypeScript Native**: Full type definitions include.\n- 🖥️ **Dashboard Included**: Visualize and debug your rate limits with the included interactive dashboard.\n\n## Installation\n```bash\nnpm install @rateflow/core\n```\n\n## Quick Start\n```javascript\nimport { RateFlow } from '@rateflow/core';\n\n// Create a sliding window limiter\nconst limiter = RateFlow.create({\n  type: 'sliding-window',\n  options: {\n    windowSizeInMs: 1000,\n    maxRequests: 5\n  }\n});\n\n// Use it\nif (limiter.take()) {\n  console.log(\"Request allowed\");\n} else {\n  console.log(\"Rate limit exceeded\");\n}\n```\n\n## Algorithms\n### Token Bucket\nIdeal for bursty traffic. Allows a specified number of tokens to be used instantly, with tokens replenishing at a fixed rate.\n\n### Leaky Bucket\nMaintains a constant outflow rate. Perfect for smoothing out traffic and ensuring a steady load on upstream services.\n\n### Sliding Window\nThe most precise approach. Prevents \"edge cases\" where traffic spikes occur at the boundary of a fixed window by tracking actual timestamps.\n\n## Dashboard\nThe project includes a premium dashboard for exploring the algorithms. To run it locally:\n```bash\nnpm install\nnpm run dev:dashboard\n```\n","readmeFilename":"README.md"}