diff options
author | Joel Kronqvist <work.joelkronqvist@pm.me> | 2022-03-11 20:46:06 +0200 |
---|---|---|
committer | Joel Kronqvist <work.joelkronqvist@pm.me> | 2022-03-11 20:46:06 +0200 |
commit | 080c5819d87b933816d724a83f3bf4f1686770a7 (patch) | |
tree | 4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/throat/index.d.ts | |
parent | 5ac7049a9d30733165cc212dee308163c2a14644 (diff) | |
parent | d003b82235a9329f912522a2f70aa950dfce4998 (diff) | |
download | LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip |
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/throat/index.d.ts')
-rw-r--r-- | node_modules/throat/index.d.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/throat/index.d.ts b/node_modules/throat/index.d.ts new file mode 100644 index 0000000..038ca51 --- /dev/null +++ b/node_modules/throat/index.d.ts @@ -0,0 +1,32 @@ +/** + * 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; + |