mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 09:25:15 +00:00
28 lines
841 B
JavaScript
28 lines
841 B
JavaScript
|
module.exports = process.hrtime || hrtime
|
||
|
|
||
|
// polyfil for window.performance.now
|
||
|
var performance = global.performance || {}
|
||
|
var performanceNow =
|
||
|
performance.now ||
|
||
|
performance.mozNow ||
|
||
|
performance.msNow ||
|
||
|
performance.oNow ||
|
||
|
performance.webkitNow ||
|
||
|
function(){ return (new Date()).getTime() }
|
||
|
|
||
|
// generate timestamp or delta
|
||
|
// see http://nodejs.org/api/process.html#process_process_hrtime
|
||
|
function hrtime(previousTimestamp){
|
||
|
var clocktime = performanceNow.call(performance)*1e-3
|
||
|
var seconds = Math.floor(clocktime)
|
||
|
var nanoseconds = Math.floor((clocktime%1)*1e9)
|
||
|
if (previousTimestamp) {
|
||
|
seconds = seconds - previousTimestamp[0]
|
||
|
nanoseconds = nanoseconds - previousTimestamp[1]
|
||
|
if (nanoseconds<0) {
|
||
|
seconds--
|
||
|
nanoseconds += 1e9
|
||
|
}
|
||
|
}
|
||
|
return [seconds,nanoseconds]
|
||
|
}
|