| Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64 Path : /home/livedhms/lmgt/node_modules/hono/dist/utils/ |
| Current File : //home/livedhms/lmgt/node_modules/hono/dist/utils/concurrent.js |
// src/utils/concurrent.ts
var DEFAULT_CONCURRENCY = 1024;
var createPool = ({
concurrency,
interval
} = {}) => {
concurrency ||= DEFAULT_CONCURRENCY;
if (concurrency === Infinity) {
return {
run: async (fn) => fn()
};
}
const pool = /* @__PURE__ */ new Set();
const run = async (fn, promise, resolve) => {
if (pool.size >= concurrency) {
promise ||= new Promise((r) => resolve = r);
setTimeout(() => run(fn, promise, resolve));
return promise;
}
const marker = {};
pool.add(marker);
const result = await fn();
if (interval) {
setTimeout(() => pool.delete(marker), interval);
} else {
pool.delete(marker);
}
if (resolve) {
resolve(result);
return promise;
} else {
return result;
}
};
return { run };
};
export {
createPool
};