mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-09-08 15:57:21 +00:00
push all website files
This commit is contained in:
38
website/node_modules/npm/lib/utils/pulse-till-done.js
generated
vendored
Normal file
38
website/node_modules/npm/lib/utils/pulse-till-done.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict'
|
||||
const validate = require('aproba')
|
||||
const log = require('npmlog')
|
||||
const Bluebird = require('bluebird')
|
||||
|
||||
let pulsers = 0
|
||||
let pulse
|
||||
|
||||
function pulseStart (prefix) {
|
||||
if (++pulsers > 1) return
|
||||
pulse = setInterval(function () {
|
||||
log.gauge.pulse(prefix)
|
||||
}, 150)
|
||||
}
|
||||
function pulseStop () {
|
||||
if (--pulsers > 0) return
|
||||
clearInterval(pulse)
|
||||
}
|
||||
|
||||
module.exports = function (prefix, cb) {
|
||||
validate('SF', [prefix, cb])
|
||||
if (!prefix) prefix = 'network'
|
||||
pulseStart(prefix)
|
||||
return function () {
|
||||
pulseStop()
|
||||
cb.apply(null, arguments)
|
||||
}
|
||||
}
|
||||
module.exports.withPromise = pulseWhile
|
||||
|
||||
function pulseWhile (prefix, promise) {
|
||||
if (!promise) {
|
||||
promise = prefix
|
||||
prefix = ''
|
||||
}
|
||||
pulseStart(prefix)
|
||||
return Bluebird.resolve(promise).finally(() => pulseStop())
|
||||
}
|
Reference in New Issue
Block a user