Files
FrenoCorp/node_modules/throat/index.d.ts
Michael Freno 7c684a42cc FRE-600: Fix code review blockers
- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-25 00:08:01 -04:00

33 lines
1003 B
TypeScript

/**
* Throttle the given function to only run `size` times in parallel.
* Extra calls will be queued until one of the earlier calls completes.
*/
declare function throat<TResult, TArgs extends any[]>(
size: number,
fn: (...args: TArgs) => Promise<TResult>
): (...args: TArgs) => Promise<TResult>;
/**
* Throttle the given function to only run `size` times in parallel.
* Extra calls will be queued until one of the earlier calls completes.
*/
declare function throat<TResult, TArgs extends any[]>(
fn: (...args: TArgs) => Promise<TResult>,
size: number
): (...args: TArgs) => Promise<TResult>;
/**
* Create a throttle that only allows `size` calls in parallel.
* Extra calls will be queued until one of the earlier calls completes.
*
* To create an exclusive lock, just use a `size` of `1`.
*/
declare function throat(
size: number
): <TResult, TArgs extends any[] = []>(
fn: (...args: TArgs) => Promise<TResult>,
...args: TArgs
) => Promise<TResult>;
export default throat;