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 ## Usage
```js ```js
var ratelimiter = require("@xaymar/ratelimiter"); var RateLimiter = require("@xaymar/ratelimiter");
let limitMany = new ratelimiter.RateLimiter(4); let limitMany = new RateLimiter(4);
let limitOne = new ratelimiter.RateLimiter(1); let limitOne = new RateLimiter(1);
for (let idx = 0; idx < 3; idx++) { for (let idx = 0; idx < 3; idx++) {
limitOne.queue(async () => { limitOne.queue(async () => {
@@ -40,10 +40,10 @@ No, but it is relatively easy to do without official support. See the example be
```js ```js
// main.js // main.js
var ratelimiter = require("@xaymar/ratelimiter"); var RateLimiter = require("@xaymar/ratelimiter");
let worker = new Worker("worker.js"); let worker = new Worker("worker.js");
let workerRL = new ratelimiter.RateLimiter(1); let workerRL = new RateLimiter(1);
worker.onmessage = (event) => { worker.onmessage = (event) => {
worker.resolve(event); worker.resolve(event);
+4 -4
View File
@@ -24,11 +24,11 @@ interface RateLimiterInstance {
solver?: Promise<any>, solver?: Promise<any>,
} }
export type RateLimiterAsyncExecutor = (...args: any[]) => Promise<any>; type RateLimiterAsyncExecutor = (...args: any[]) => Promise<any>;
export type RateLimiterSyncExecutor = (...args: any[]) => any; type RateLimiterSyncExecutor = (...args: any[]) => any;
export type RateLimiterExecutor = RateLimiterSyncExecutor | RateLimiterAsyncExecutor; type RateLimiterExecutor = RateLimiterSyncExecutor | RateLimiterAsyncExecutor;
export class RateLimiter { export default class RateLimiter {
private _maximum: number = 0; private _maximum: number = 0;
private _available: number = 0; private _available: number = 0;
private _instances: any[]; private _instances: any[];