UNPKG

@mazix/n8n-nodes-converter-documents

Version:

n8n node to convert various document formats (DOCX, DOC, XML, YML, XLSX, CSV, PDF, TXT, PPT, PPTX, HTML, JSON, ODT, ODP, ODS) to JSON or text format

35 lines 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.promisePool = promisePool; /** * Promise pool для ограничения количества одновременных задач * Использует Set вместо Array для корректного удаления (fix race condition) */ async function promisePool(items, worker, concurrency) { const results = []; let i = 0; const executing = new Set(); async function enqueue() { if (i >= items.length) return; const currentIndex = i++; const p = worker(items[currentIndex], currentIndex).then((res) => { results[currentIndex] = res; }); const wrapped = p.then(() => { executing.delete(wrapped); }); executing.add(wrapped); if (executing.size < concurrency) { await enqueue(); } else { await Promise.race(executing); await enqueue(); } } await enqueue(); await Promise.all(executing); return results; } //# sourceMappingURL=promisePool.js.map