Rocky_Mountain_Vending/.pnpm-store/v10/files/37/8977beab5a17af36e74c0ba41654af11c493301077254281fe7cd8864d647b05f0253e6d83154dceb1c6693ef48b88ffa798ac00df95849aa5d26f630c4107
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

78 lines
No EOL
3 KiB
Text

/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* A class that maintains a concurrency pool to coordinate many jobs that should
* only be run `concurrencyLimit` at a time.
* API inspired by http://bluebirdjs.com/docs/api/promise.map.html, but
* independent callers of `concurrentMap()` share the same concurrency limit.
*/
export class ConcurrentMapper {
/**
* Runs callbackfn on `values` in parallel, at a max of `concurrency` at a
* time. Resolves to an array of the results or rejects with the first
* rejected result. Default `concurrency` limit is `Infinity`.
* @template T, U
* @param {Array<T>} values
* @param {(value: T, index: number, array: Array<T>) => Promise<U>} callbackfn
* @param {{concurrency: number}} [options]
* @return {Promise<Array<U>>}
*/
static map<T, U>(values: Array<T>, callbackfn: (value: T, index: number, array: Array<T>) => Promise<U>, options?: {
concurrency: number;
}): Promise<Array<U>>;
/** @type {Set<Promise<unknown>>} */
_promisePool: Set<Promise<unknown>>;
/**
* The limits of all currently running jobs. There will be duplicates.
* @type {Array<number>}
*/
_allConcurrencyLimits: Array<number>;
/**
* Returns whether there are fewer running jobs than the minimum current
* concurrency limit and the proposed new `concurrencyLimit`.
* @param {number} concurrencyLimit
*/
_canRunMoreAtLimit(concurrencyLimit: number): boolean;
/**
* Add a job to pool.
* @param {Promise<unknown>} job
* @param {number} concurrencyLimit
*/
_addJob(job: Promise<unknown>, concurrencyLimit: number): void;
/**
* Remove a job from pool.
* @param {Promise<unknown>} job
* @param {number} concurrencyLimit
*/
_removeJob(job: Promise<unknown>, concurrencyLimit: number): void;
/**
* Runs callbackfn on `values` in parallel, at a max of `concurrency` at
* a time across all callers on this instance. Resolves to an array of the
* results (for each caller separately) or rejects with the first rejected
* result. Default `concurrency` limit is `Infinity`.
* @template T, U
* @param {Array<T>} values
* @param {(value: T, index: number, array: Array<T>) => Promise<U>} callbackfn
* @param {{concurrency: number}} [options]
* @return {Promise<Array<U>>}
*/
pooledMap<T, U>(values: Array<T>, callbackfn: (value: T, index: number, array: Array<T>) => Promise<U>, options?: {
concurrency: number;
}): Promise<Array<U>>;
/**
* Runs `fn` concurrent to other operations in the pool, at a max of
* `concurrency` at a time across all callers on this instance. Default
* `concurrency` limit is `Infinity`.
* @template U
* @param {() => Promise<U>} fn
* @param {{concurrency: number}} [options]
* @return {Promise<U>}
*/
runInPool<U>(fn: () => Promise<U>, options?: {
concurrency: number;
}): Promise<U>;
}
//# sourceMappingURL=concurrent-mapper.d.ts.map