mirror of
https://github.com/azure/login.git
synced 2026-03-15 09:20:56 -04:00
* Bump lodash from 4.17.15 to 4.17.19 (#52) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amruta Kawade <65217380+AmrutaKawade@users.noreply.github.com> * Bump @actions/core from 1.1.3 to 1.2.6 (#60) Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.1.3 to 1.2.6. - [Release notes](https://github.com/actions/toolkit/releases) - [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amruta Kawade <65217380+AmrutaKawade@users.noreply.github.com> * updating node_nodules * updated package-lock Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
// This files implements the calculation of the offset between the global monotonic clock and UNIX time. This value is
|
|
// known as |t1| in the calculation of "time origin timestamp" in the spec. This value needs to be calculated once and
|
|
// can be used in all subsequent Performance instances.
|
|
//
|
|
// However, if the clock is not fast enough, the export is undefined to signify that we should use Date.now() to get the
|
|
// time origin timestamp with millisecond accuracy, per spec.
|
|
|
|
const { getGlobalMonotonicClockMS } = require("./global-monotonic-clock");
|
|
const clockIsAccurate = require("./clock-is-accurate");
|
|
|
|
// This function assumes the clock is accurate.
|
|
function calculateClockOffset() {
|
|
const start = Date.now();
|
|
let cur = start;
|
|
// Limit the iterations, just in case we're running in an environment where Date.now() has been mocked and is
|
|
// constant.
|
|
for (let i = 0; i < 1e6 && cur === start; i++) {
|
|
cur = Date.now();
|
|
}
|
|
|
|
// At this point |cur| "just" became equal to the next millisecond -- the unseen digits after |cur| are approximately
|
|
// all 0, and |cur| is the closest to the actual value of the UNIX time. Now, get the current global monotonic clock
|
|
// value and do the remaining calculations.
|
|
|
|
return cur - getGlobalMonotonicClockMS();
|
|
}
|
|
|
|
if (clockIsAccurate) {
|
|
// Warm up the function.
|
|
calculateClockOffset();
|
|
calculateClockOffset();
|
|
calculateClockOffset();
|
|
|
|
module.exports = calculateClockOffset;
|
|
} else {
|
|
module.exports = undefined;
|
|
}
|