|
| 1 | +/* eslint-disable @typescript-eslint/naming-convention */ |
1 | 2 | // All timezones were taken from: https://raw.githubusercontent.com/leon-do/Timezones/main/timezone.json
|
2 |
| -export default [ |
| 3 | +const TIMEZONES = [ |
3 | 4 | 'Africa/Abidjan',
|
4 | 5 | 'Africa/Accra',
|
5 | 6 | 'Africa/Addis_Ababa',
|
@@ -419,3 +420,137 @@ export default [
|
419 | 420 | 'Pacific/Wake',
|
420 | 421 | 'Pacific/Wallis',
|
421 | 422 | ] as const;
|
| 423 | + |
| 424 | +/** |
| 425 | + * The timezones supported in browser and on native devices differ, so we must map each timezone to its supported equivalent. |
| 426 | + * Data sourced from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones |
| 427 | + */ |
| 428 | +const timezoneBackwardMap: Record<string, (typeof TIMEZONES)[number]> = { |
| 429 | + 'Africa/Asmera': 'Africa/Nairobi', |
| 430 | + 'Africa/Timbuktu': 'Africa/Abidjan', |
| 431 | + 'America/Argentina/ComodRivadavia': 'America/Argentina/Catamarca', |
| 432 | + 'America/Atka': 'America/Adak', |
| 433 | + 'America/Buenos_Aires': 'America/Argentina/Buenos_Aires', |
| 434 | + 'America/Catamarca': 'America/Argentina/Catamarca', |
| 435 | + 'America/Coral_Harbour': 'America/Panama', |
| 436 | + 'America/Cordoba': 'America/Argentina/Cordoba', |
| 437 | + 'America/Ensenada': 'America/Tijuana', |
| 438 | + 'America/Fort_Wayne': 'America/Indiana/Indianapolis', |
| 439 | + 'America/Godthab': 'America/Nuuk', |
| 440 | + 'America/Indianapolis': 'America/Indiana/Indianapolis', |
| 441 | + 'America/Jujuy': 'America/Argentina/Jujuy', |
| 442 | + 'America/Knox_IN': 'America/Indiana/Knox', |
| 443 | + 'America/Louisville': 'America/Kentucky/Louisville', |
| 444 | + 'America/Mendoza': 'America/Argentina/Mendoza', |
| 445 | + 'America/Montreal': 'America/Toronto', |
| 446 | + 'America/Nipigon': 'America/Toronto', |
| 447 | + 'America/Pangnirtung': 'America/Iqaluit', |
| 448 | + 'America/Porto_Acre': 'America/Rio_Branco', |
| 449 | + 'America/Rainy_River': 'America/Winnipeg', |
| 450 | + 'America/Rosario': 'America/Argentina/Cordoba', |
| 451 | + 'America/Santa_Isabel': 'America/Tijuana', |
| 452 | + 'America/Shiprock': 'America/Denver', |
| 453 | + 'America/Thunder_Bay': 'America/Toronto', |
| 454 | + 'America/Virgin': 'America/Puerto_Rico', |
| 455 | + 'America/Yellowknife': 'America/Edmonton', |
| 456 | + 'Antarctica/South_Pole': 'Pacific/Auckland', |
| 457 | + 'Asia/Ashkhabad': 'Asia/Ashgabat', |
| 458 | + 'Asia/Calcutta': 'Asia/Kolkata', |
| 459 | + 'Asia/Chongqing': 'Asia/Shanghai', |
| 460 | + 'Asia/Chungking': 'Asia/Shanghai', |
| 461 | + 'Asia/Dacca': 'Asia/Dhaka', |
| 462 | + 'Asia/Harbin': 'Asia/Shanghai', |
| 463 | + 'Asia/Istanbul': 'Europe/Istanbul', |
| 464 | + 'Asia/Kashgar': 'Asia/Urumqi', |
| 465 | + 'Asia/Katmandu': 'Asia/Kathmandu', |
| 466 | + 'Asia/Macao': 'Asia/Macau', |
| 467 | + 'Asia/Rangoon': 'Asia/Yangon', |
| 468 | + 'Asia/Saigon': 'Asia/Ho_Chi_Minh', |
| 469 | + 'Asia/Tel_Aviv': 'Asia/Jerusalem', |
| 470 | + 'Asia/Thimbu': 'Asia/Thimphu', |
| 471 | + 'Asia/Ujung_Pandang': 'Asia/Makassar', |
| 472 | + 'Asia/Ulan_Bator': 'Asia/Ulaanbaatar', |
| 473 | + 'Atlantic/Faeroe': 'Atlantic/Faroe', |
| 474 | + 'Atlantic/Jan_Mayen': 'Europe/Berlin', |
| 475 | + 'Australia/ACT': 'Australia/Sydney', |
| 476 | + 'Australia/Canberra': 'Australia/Sydney', |
| 477 | + 'Australia/Currie': 'Australia/Hobart', |
| 478 | + 'Australia/LHI': 'Australia/Lord_Howe', |
| 479 | + 'Australia/NSW': 'Australia/Sydney', |
| 480 | + 'Australia/North': 'Australia/Darwin', |
| 481 | + 'Australia/Queensland': 'Australia/Brisbane', |
| 482 | + 'Australia/South': 'Australia/Adelaide', |
| 483 | + 'Australia/Tasmania': 'Australia/Hobart', |
| 484 | + 'Australia/Victoria': 'Australia/Melbourne', |
| 485 | + 'Australia/West': 'Australia/Perth', |
| 486 | + 'Australia/Yancowinna': 'Australia/Broken_Hill', |
| 487 | + 'Brazil/Acre': 'America/Rio_Branco', |
| 488 | + 'Brazil/DeNoronha': 'America/Noronha', |
| 489 | + 'Brazil/East': 'America/Sao_Paulo', |
| 490 | + 'Brazil/West': 'America/Manaus', |
| 491 | + 'Canada/Atlantic': 'America/Halifax', |
| 492 | + 'Canada/Central': 'America/Winnipeg', |
| 493 | + 'Canada/Eastern': 'America/Toronto', |
| 494 | + 'Canada/Mountain': 'America/Edmonton', |
| 495 | + 'Canada/Newfoundland': 'America/St_Johns', |
| 496 | + 'Canada/Pacific': 'America/Vancouver', |
| 497 | + 'Canada/Saskatchewan': 'America/Regina', |
| 498 | + 'Canada/Yukon': 'America/Whitehorse', |
| 499 | + 'Chile/Continental': 'America/Santiago', |
| 500 | + 'Chile/EasterIsland': 'Pacific/Easter', |
| 501 | + Cuba: 'America/Havana', |
| 502 | + Egypt: 'Africa/Cairo', |
| 503 | + Eire: 'Europe/Dublin', |
| 504 | + 'Europe/Belfast': 'Europe/London', |
| 505 | + 'Europe/Kiev': 'Europe/Kyiv', |
| 506 | + 'Europe/Nicosia': 'Asia/Nicosia', |
| 507 | + 'Europe/Tiraspol': 'Europe/Chisinau', |
| 508 | + 'Europe/Uzhgorod': 'Europe/Kyiv', |
| 509 | + 'Europe/Zaporozhye': 'Europe/Kyiv', |
| 510 | + GB: 'Europe/London', |
| 511 | + 'GB-Eire': 'Europe/London', |
| 512 | + Hongkong: 'Asia/Hong_Kong', |
| 513 | + Iceland: 'Africa/Abidjan', |
| 514 | + Iran: 'Asia/Tehran', |
| 515 | + Israel: 'Asia/Jerusalem', |
| 516 | + Jamaica: 'America/Jamaica', |
| 517 | + Japan: 'Asia/Tokyo', |
| 518 | + Kwajalein: 'Pacific/Kwajalein', |
| 519 | + Libya: 'Africa/Tripoli', |
| 520 | + 'Mexico/BajaNorte': 'America/Tijuana', |
| 521 | + 'Mexico/BajaSur': 'America/Mazatlan', |
| 522 | + 'Mexico/General': 'America/Mexico_City', |
| 523 | + NZ: 'Pacific/Auckland', |
| 524 | + 'NZ-CHAT': 'Pacific/Chatham', |
| 525 | + Navajo: 'America/Denver', |
| 526 | + PRC: 'Asia/Shanghai', |
| 527 | + 'Pacific/Enderbury': 'Pacific/Kanton', |
| 528 | + 'Pacific/Johnston': 'Pacific/Honolulu', |
| 529 | + 'Pacific/Ponape': 'Pacific/Guadalcanal', |
| 530 | + 'Pacific/Samoa': 'Pacific/Pago_Pago', |
| 531 | + 'Pacific/Truk': 'Pacific/Port_Moresby', |
| 532 | + 'Pacific/Yap': 'Pacific/Port_Moresby', |
| 533 | + Poland: 'Europe/Warsaw', |
| 534 | + Portugal: 'Europe/Lisbon', |
| 535 | + ROC: 'Asia/Taipei', |
| 536 | + ROK: 'Asia/Seoul', |
| 537 | + Singapore: 'Asia/Singapore', |
| 538 | + Turkey: 'Europe/Istanbul', |
| 539 | + 'US/Alaska': 'America/Anchorage', |
| 540 | + 'US/Aleutian': 'America/Adak', |
| 541 | + 'US/Arizona': 'America/Phoenix', |
| 542 | + 'US/Central': 'America/Chicago', |
| 543 | + 'US/East-Indiana': 'America/Indiana/Indianapolis', |
| 544 | + 'US/Eastern': 'America/New_York', |
| 545 | + 'US/Hawaii': 'Pacific/Honolulu', |
| 546 | + 'US/Indiana-Starke': 'America/Indiana/Knox', |
| 547 | + 'US/Michigan': 'America/Detroit', |
| 548 | + 'US/Mountain': 'America/Denver', |
| 549 | + 'US/Pacific': 'America/Los_Angeles', |
| 550 | + 'US/Samoa': 'Pacific/Pago_Pago', |
| 551 | + 'W-SU': 'Europe/Moscow', |
| 552 | +}; |
| 553 | + |
| 554 | +export {timezoneBackwardMap}; |
| 555 | + |
| 556 | +export default TIMEZONES; |
0 commit comments