Make RateLimiter the default export

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2023-03-19 00:24:07 +01:00
parent 54a14456e1
commit 1cf89ebcf6
2 changed files with 9 additions and 9 deletions
+5 -5
View File
@@ -8,10 +8,10 @@ Simple but effective way to rate limit Tasks in JavaScript. Anything can be rate
## Usage
```js
var ratelimiter = require("@xaymar/ratelimiter");
var RateLimiter = require("@xaymar/ratelimiter");
let limitMany = new ratelimiter.RateLimiter(4);
let limitOne = new ratelimiter.RateLimiter(1);
let limitMany = new RateLimiter(4);
let limitOne = new RateLimiter(1);
for (let idx = 0; idx < 3; idx++) {
limitOne.queue(async () => {
@@ -40,10 +40,10 @@ No, but it is relatively easy to do without official support. See the example be
```js
// main.js
var ratelimiter = require("@xaymar/ratelimiter");
var RateLimiter = require("@xaymar/ratelimiter");
let worker = new Worker("worker.js");
let workerRL = new ratelimiter.RateLimiter(1);
let workerRL = new RateLimiter(1);
worker.onmessage = (event) => {
worker.resolve(event);
+4 -4
View File
@@ -24,11 +24,11 @@ interface RateLimiterInstance {
solver?: Promise<any>,
}
export type RateLimiterAsyncExecutor = (...args: any[]) => Promise<any>;
export type RateLimiterSyncExecutor = (...args: any[]) => any;
export type RateLimiterExecutor = RateLimiterSyncExecutor | RateLimiterAsyncExecutor;
type RateLimiterAsyncExecutor = (...args: any[]) => Promise<any>;
type RateLimiterSyncExecutor = (...args: any[]) => any;
type RateLimiterExecutor = RateLimiterSyncExecutor | RateLimiterAsyncExecutor;
export class RateLimiter {
export default class RateLimiter {
private _maximum: number = 0;
private _available: number = 0;
private _instances: any[];