node/deps/npm/lib/utils/pulse-till-done.js
Ruy Adorno 730ba5c039
deps: upgrade npm to 7.5.3
PR-URL: https://github.com/nodejs/node/pull/37283
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-09 10:23:19 -05:00

27 lines
405 B
JavaScript

const log = require('npmlog')
let pulseTimer = null
const withPromise = async (promise) => {
pulseStart()
try {
return await promise
} finally {
pulseStop()
}
}
const pulseStart = () => {
pulseTimer = pulseTimer || setInterval(() => {
log.gauge.pulse('')
}, 150)
}
const pulseStop = () => {
clearInterval(pulseTimer)
pulseTimer = null
}
module.exports = {
withPromise,
}