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>
54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
"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 };
|