2025-03-24 22:56:10 +01:00

26 lines
722 B
TypeScript

export declare class Sema {
private nrTokens;
private free;
private waiting;
private releaseEmitter;
private noTokens;
private pauseFn?;
private resumeFn?;
private paused;
constructor(nr: number, { initFn, pauseFn, resumeFn, capacity, }?: {
initFn?: () => any;
pauseFn?: () => void;
resumeFn?: () => void;
capacity?: number;
});
tryAcquire(): any | undefined;
acquire(): Promise<any>;
release(token?: any): void;
drain(): Promise<any[]>;
nrWaiting(): number;
}
export declare function RateLimit(rps: number, { timeUnit, uniformDistribution, }?: {
timeUnit?: number;
uniformDistribution?: boolean;
}): () => Promise<void>;