@kobakazu0429/wasmer-wasi
Version:
Isomorphic Javascript library for interacting with WASI Modules in Node.js and the Browser. 📚
23 lines (22 loc) • 793 B
JavaScript
;
// hrtime polyfill for the browser
Object.defineProperty(exports, "__esModule", { value: true });
const baseNow = Math.floor((Date.now() - performance.now()) * 1e-3);
function hrtime(previousTimestamp) {
// initilaize our variables
let clocktime = performance.now() * 1e-3;
let seconds = Math.floor(clocktime) + baseNow;
let nanoseconds = Math.floor((clocktime % 1) * 1e9);
// Compare to the prvious timestamp if we have one
if (previousTimestamp) {
seconds = seconds - previousTimestamp[0];
nanoseconds = nanoseconds - previousTimestamp[1];
if (nanoseconds < 0) {
seconds--;
nanoseconds += 1e9;
}
}
// Return our seconds tuple
return [seconds, nanoseconds];
}
exports.default = hrtime;