Last commit july 5th

This commit is contained in:
2024-07-05 13:46:23 +02:00
parent dad0d86e8c
commit b0e4dfbb76
24982 changed files with 2621219 additions and 413 deletions

52
spa/node_modules/promise-call-limit/index.js generated vendored Normal file
View File

@@ -0,0 +1,52 @@
const os = require('os')
// availableParallelism available only since node v19, for older versions use
// cpus() cpus() can return an empty list if /proc is not mounted, use 1 in
// this case
/* istanbul ignore next - version-specific workaround */
const defLimit = 'availableParallelism' in os
? os.availableParallelism()
: Math.max(1, os.cpus().length)
const callLimit = (queue, limit = defLimit) => new Promise((res, rej) => {
let active = 0
let current = 0
const results = []
let rejected = false
const reject = er => {
if (rejected)
return
rejected = true
rej(er)
}
let resolved = false
const resolve = () => {
if (resolved || active > 0)
return
resolved = true
res(results)
}
const run = () => {
const c = current++
if (c >= queue.length) {
return resolve()
}
active ++
results[c] = queue[c]().then(result => {
active --
results[c] = result
run()
return result
}, reject)
}
for (let i = 0; i < limit; i++) {
run()
}
})
module.exports = callLimit