Marketplace móvil para negocios locales mexicanos. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React Web) - apps/mobile (Expo/React Native) - apps/mcp-server (Claude MCP Server) - apps/whatsapp-service (WhatsApp Business API) - database/ (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
1003 B
TypeScript
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;
|
|
|