1 | export declare class Sema {
|
2 | private nrTokens;
|
3 | private free;
|
4 | private waiting;
|
5 | private releaseEmitter;
|
6 | private noTokens;
|
7 | private pauseFn?;
|
8 | private resumeFn?;
|
9 | private paused;
|
10 | constructor(nr: number, { initFn, pauseFn, resumeFn, capacity, }?: {
|
11 | initFn?: () => any;
|
12 | pauseFn?: () => void;
|
13 | resumeFn?: () => void;
|
14 | capacity?: number;
|
15 | });
|
16 | tryAcquire(): any | undefined;
|
17 | acquire(): Promise<any>;
|
18 | release(token?: any): void;
|
19 | drain(): Promise<any[]>;
|
20 | nrWaiting(): number;
|
21 | }
|
22 | export declare function RateLimit(rps: number, { timeUnit, uniformDistribution, }?: {
|
23 | timeUnit?: number;
|
24 | uniformDistribution?: boolean;
|
25 | }): () => Promise<void>;
|