Urara-Blog/node_modules/.pnpm-store/v3/files/bd/328dfc42a53b451f40b09345aa60dfebff005a54e96999a6c9ee89b5a3f0cfc2eaf64951ebdd93eb4e1df78e0dd60cb75cafe9f641abd25a8129c2b63ad910
2022-08-14 01:14:53 +08:00

25 lines
722 B
Text

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>;