pdfdraw/server/node_modules/after/index.js
szaimen e33f27b5a4 also commit the npm_modules and package-lock.json
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-03-04 12:25:14 +01:00

28 lines
685 B
JavaScript

module.exports = after
function after(count, callback, err_cb) {
var bail = false
err_cb = err_cb || noop
proxy.count = count
return (count === 0) ? callback() : proxy
function proxy(err, result) {
if (proxy.count <= 0) {
throw new Error('after called too many times')
}
--proxy.count
// after first error, rest are passed to err_cb
if (err) {
bail = true
callback(err)
// future error callbacks will go to error handler
callback = err_cb
} else if (proxy.count === 0 && !bail) {
callback(null, result)
}
}
}
function noop() {}