Files
Nikolay Vitkov d76576c6fe [deps] Update EsLint v8.57.1 and plugins
This is need to be able to move to flat config which I am handling
in a separate CL.
The overrides are there as these packages got update today,
so we need to way, but they were last touched 3 years ago,
so reviewing their changes upstream as well.

Bug: none
Change-Id: I61534f881fd4e747c716b42b773f8f7f3e9bc761
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6063618
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
2024-12-02 14:40:07 +00:00

44 lines
1.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use strict';
var GetIntrinsic = require('get-intrinsic');
var $Date = GetIntrinsic('%Date%');
var $TypeError = require('es-errors/type');
var isInteger = require('../helpers/isInteger');
var callBound = require('call-bind/callBound');
var $indexOf = callBound('String.prototype.indexOf');
var $slice = callBound('String.prototype.slice');
var $toTimeString = callBound('Date.prototype.toTimeString');
// https://262.ecma-international.org/14.0/#sec-timezoneestring
module.exports = function TimeZoneString(tv) {
if (!isInteger(tv)) {
throw new $TypeError('Assertion failed: `tv` must be an integral Number');
}
// 1. Let localTimeZone be DefaultTimeZone().
// 2. If IsTimeZoneOffsetString(localTimeZone) is true, then
// a. Let offsetNs be ParseTimeZoneOffsetString(localTimeZone).
// 3. Else,
// a. Let offsetNs be GetNamedTimeZoneOffsetNanoseconds(localTimeZone, ℤ(ℝ(tv) × 106)).
// 4. Let offset be 𝔽(truncate(offsetNs / 106)).
// 5. If offset is +0𝔽 or offset > +0𝔽, then
// a. Let offsetSign be "+".
// b. Let absOffset be offset.
// 6. Else,
// a. Let offsetSign be "-".
// b. Let absOffset be -offset.
// 7. Let offsetMin be ToZeroPaddedDecimalString(ℝ(MinFromTime(absOffset)), 2).
// 8. Let offsetHour be ToZeroPaddedDecimalString(ℝ(HourFromTime(absOffset)), 2).
// 9. Let tzName be an implementation-defined string that is either the empty String or the string-concatenation of the code unit 0x0020 (SPACE), the code unit 0x0028 (LEFT PARENTHESIS), an implementation-defined timezone name, and the code unit 0x0029 (RIGHT PARENTHESIS).
// 10. Return the string-concatenation of offsetSign, offsetHour, offsetMin, and tzName.
// hack until DefaultTimeZone, IsTimeZoneOffsetString, ParseTimeZoneOffsetString, GetNamedTimeZoneOffsetNanoseconds, and "implementation-defined string" are available
var ts = $toTimeString(new $Date(tv));
return $slice(ts, $indexOf(ts, '(') + 1, $indexOf(ts, ')'));
};