| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/parsmega.nuxt/node_modules/npm/node_modules/@npmcli/arborist/bin/lib/ |
Upload File : |
const timers = Object.create(null)
const { format } = require('util')
const options = require('./options.js')
process.on('time', name => {
if (timers[name]) {
throw new Error('conflicting timer! ' + name)
}
timers[name] = process.hrtime()
})
const dim = process.stderr.isTTY ? msg => `\x1B[2m${msg}\x1B[22m` : m => m
const red = process.stderr.isTTY ? msg => `\x1B[31m${msg}\x1B[39m` : m => m
process.on('timeEnd', name => {
if (!timers[name]) {
throw new Error('timer not started! ' + name)
}
const res = process.hrtime(timers[name])
delete timers[name]
const msg = format(`${process.pid} ${name}`, res[0] * 1e3 + res[1] / 1e6)
if (options.timers !== false) {
console.error(dim(msg))
}
})
process.on('exit', () => {
for (const name of Object.keys(timers)) {
console.error(red('Dangling timer:'), name)
process.exitCode = 1
}
})