£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! '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()) }