Add node modules and new code for release (#57)

Co-authored-by: taakleton <taakleton@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2022-01-26 17:16:26 -05:00
committed by GitHub
parent da63a48ad7
commit a517f2ff65
8435 changed files with 1764387 additions and 7 deletions

53
node_modules/w3c-hr-time/lib/performance.js generated vendored Normal file
View File

@@ -0,0 +1,53 @@
"use strict";
// Actual implementation of the Performance class.
const clockIsAccurate = require("./clock-is-accurate");
const calculateClockOffset = require("./calculate-clock-offset");
const { hrtime, toMS } = require("./utils");
const kTimeOrigin = Symbol("time origin");
const kTimeOriginTimestamp = Symbol("time origin timestamp");
class Performance {
constructor() {
// Time origin.
const timeOrigin = hrtime();
this[kTimeOrigin] = timeOrigin;
if (clockIsAccurate) {
// Let |t1| be the DOMHighResTimeStamp representing the high resolution Unix time at which the global monotonic
// clock is zero. This has to be calculated for every Performance object to account for clock drifts.
const t1 = calculateClockOffset();
// Let |t2| be the DOMHighResTimeStamp representing the high resolution time value of the global monotonic clock
// at global's time origin.
const t2 = toMS(timeOrigin);
// Return the sum of |t1| and |t2|.
this[kTimeOriginTimestamp] = t1 + t2;
} else {
// Clock isn't accurate enough. Use millisecond accuracy per spec.
const cur = Date.now();
this[kTimeOriginTimestamp] = cur;
}
}
// The timeOrigin getter actually returns the time origin timestamp, not the raw time origin.
get timeOrigin() {
return this[kTimeOriginTimestamp];
}
now() {
const diff = toMS(hrtime(this[kTimeOrigin]));
return clockIsAccurate ? diff : Math.round(diff);
}
toJSON() {
return {
timeOrigin: this.timeOrigin
};
}
}
module.exports = { Performance };