18 lines
582 B
Plaintext
Executable File
18 lines
582 B
Plaintext
Executable File
/**
|
|
* https://tc39.es/ecma402/#sec-canonicalizetimezonename
|
|
* @param tz
|
|
*/
|
|
export 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;
|
|
}
|