22 lines
756 B
Plaintext
Executable File
22 lines
756 B
Plaintext
Executable File
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.CanonicalizeTimeZoneName = void 0;
|
|
/**
|
|
* https://tc39.es/ecma402/#sec-canonicalizetimezonename
|
|
* @param tz
|
|
*/
|
|
function CanonicalizeTimeZoneName(tz, _a) {
|
|
var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks;
|
|
var uppercasedTz = tz.toUpperCase();
|
|
var uppercasedZones = Object.keys(tzData).reduce(function (all, z) {
|
|
all[z.toUpperCase()] = z;
|
|
return all;
|
|
}, {});
|
|
var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];
|
|
if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {
|
|
return 'UTC';
|
|
}
|
|
return ianaTimeZone;
|
|
}
|
|
exports.CanonicalizeTimeZoneName = CanonicalizeTimeZoneName;
|