UNPKG

@studyportals/sp-hs-misc

Version:

Miscellaneous code used in HouseStark's projects

26 lines (25 loc) 807 B
import { Throttleable } from "../.."; /** * Offers the necessary functionality to throttle * highly concurent operations. */ declare class Throttler { private _tasksQueue; private _concurrencyCounter; private _concurrencyLimit; protected get concurrencyLimit(): number; protected get concurrencyCounter(): number; protected get tasksQueue(): Throttleable[]; constructor(concurrencyLimit?: number); enqueueTask(task: Throttleable): void; private handleTaskEnqueued; private executeNextTaskIfPossible; private executeNextTask; private tasksQueueNotEmpty; private dequeueTask; private handleTaskFinished; private incrementConcurrencyCounter; private decrementConcurrencyCounter; private concurrencyLimitNotReached; } export { Throttler };