nestjs-appwrite
Version:
Easier Appwrite integration for your NestJS application.
26 lines (25 loc) • 904 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.executePromisesLimited = void 0;
const executePromisesLimited = async (iterable, concurrencyLimit) => {
const iterator = iterable[Symbol.iterator]();
let isDone = false;
let promises = [];
const result = [];
while (!isDone) {
const { value, done } = iterator.next();
isDone = Boolean(done);
promises.push(value);
if (promises.length >= concurrencyLimit) {
const promiseResults = await Promise.all(promises.map(promise => promise));
result.push(...promiseResults);
promises = [];
}
}
if (promises.length) {
const promiseResults = await Promise.all(promises.map(promise => promise));
result.push(...promiseResults);
}
return result;
};
exports.executePromisesLimited = executePromisesLimited;