Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

leaky-bucket-queue

seanplwong133.5kMIT0.0.2TypeScript support: included

An implementation of burstable throtling algorithm on top of rxjs

leaky, bucket, leaky bucket, leaky-bucket, rate, rate-control, rate-limit, throtle, throtling, queue

readme

leaky-bucket-queue

An implementation of leaky bucket on top of rxjs.

Simple rate limiting are usually good enough for most scenario but they might incur unnecessary stuttering when there is attempt to make multiple call to a server API. Leaky bucket provides a burstable solution, providing rate limit while allowing bursty traffic, making application more responsive.

Installation

npm i leaky-bucket-queue

Usage

Typescript

import { LeakyBucketQueue } from 'leaky-bucket-queue';

const queue = new LeakyBucketQueue<string>({ burstSize: 5, period: 100 });
queue.consume().subscribe({
  next: console.log,
});
queue.enqueue('compter');
...

JavaScript

import { LeakyBucketQueue } from 'leaky-bucket-queue';

const queue = new LeakyBucketQueue({ burstSize: 5, period: 100 });
queue.consume().subscribe({
  next: console.log,
});
queue.enqueue('explode');
...