@js-joda/timezone 3.0.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +26 -8
  2. package/dist/js-joda-timezone-10-year-range.esm.js +214 -150
  3. package/dist/js-joda-timezone-10-year-range.esm.js.map +1 -1
  4. package/dist/js-joda-timezone-10-year-range.js +213 -149
  5. package/dist/js-joda-timezone-10-year-range.js.map +1 -1
  6. package/dist/js-joda-timezone-10-year-range.min.js +2 -2
  7. package/dist/js-joda-timezone-300-year-range.esm.js +445 -381
  8. package/dist/js-joda-timezone-300-year-range.esm.js.map +1 -1
  9. package/dist/js-joda-timezone-300-year-range.js +444 -380
  10. package/dist/js-joda-timezone-300-year-range.js.map +1 -1
  11. package/dist/js-joda-timezone-300-year-range.min.js +2 -2
  12. package/dist/js-joda-timezone-4-year-range.esm.js +201 -137
  13. package/dist/js-joda-timezone-4-year-range.esm.js.map +1 -1
  14. package/dist/js-joda-timezone-4-year-range.js +200 -136
  15. package/dist/js-joda-timezone-4-year-range.js.map +1 -1
  16. package/dist/js-joda-timezone-4-year-range.min.js +2 -2
  17. package/dist/js-joda-timezone-60-year-range.esm.js +330 -266
  18. package/dist/js-joda-timezone-60-year-range.esm.js.map +1 -1
  19. package/dist/js-joda-timezone-60-year-range.js +329 -265
  20. package/dist/js-joda-timezone-60-year-range.js.map +1 -1
  21. package/dist/js-joda-timezone-60-year-range.min.js +2 -2
  22. package/dist/js-joda-timezone-empty.esm.js +100 -36
  23. package/dist/js-joda-timezone-empty.esm.js.map +1 -1
  24. package/dist/js-joda-timezone-empty.js +99 -35
  25. package/dist/js-joda-timezone-empty.js.map +1 -1
  26. package/dist/js-joda-timezone-empty.min.js +2 -2
  27. package/dist/js-joda-timezone-lifetime-range.esm.js +441 -377
  28. package/dist/js-joda-timezone-lifetime-range.esm.js.map +1 -1
  29. package/dist/js-joda-timezone-lifetime-range.js +440 -376
  30. package/dist/js-joda-timezone-lifetime-range.js.map +1 -1
  31. package/dist/js-joda-timezone-lifetime-range.min.js +2 -2
  32. package/dist/js-joda-timezone.esm.js +445 -381
  33. package/dist/js-joda-timezone.esm.js.map +1 -1
  34. package/dist/js-joda-timezone.js +444 -380
  35. package/dist/js-joda-timezone.js.map +1 -1
  36. package/dist/js-joda-timezone.min.js +2 -2
  37. package/package.json +3 -3
  38. package/src/{MomentZoneRules.js → TzdbZoneRules.js} +116 -46
  39. package/src/{MomentZoneRulesProvider.js → TzdbZoneRulesProvider.js} +3 -3
  40. package/src/js-joda-timezone.js +2 -2
  41. package/src/plug.js +5 -5
  42. package/src/unpack.js +15 -3
@@ -1,4 +1,4 @@
1
- //! @version @js-joda/timezone - 3.0.0-2026e-4-year-range
1
+ //! @version @js-joda/timezone - 3.1.1-2026e-4-year-range
2
2
  //! @copyright (c) 2015-present, Philipp Thürwächter, Pattrick Hüper & js-joda contributors
3
3
  //! @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos
4
4
  //! @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
@@ -11,106 +11,106 @@
11
11
 
12
12
  var version = "2026e";
13
13
  var zones$1 = [
14
- "Africa/Abidjan|GMT|0|0|||0",
15
- "Africa/Algiers|CET|-10|0|||0",
16
- "Africa/Cairo|EET EEST|-20 -30|01010101010|2cfy0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0||01",
17
- "Africa/Casablanca|+01 +00|-10 0|01010101|2bUO0 e00 2600 gM0 2600 e00 1cL0||10",
18
- "Africa/Ceuta|CET CEST|-10 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
19
- "Africa/Johannesburg|SAST|-20|0|||0",
20
- "Africa/Juba|CAT|-20|0|||0",
21
- "Africa/Lagos|WAT|-10|0|||0",
22
- "Africa/Nairobi|EAT|-30|0|||0",
23
- "Africa/Tripoli|EET|-20|0|||0",
24
- "America/Adak|HST HDT|a0 90|01010101010|2bV00 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
25
- "America/Anchorage|AKST AKDT|90 80|01010101010|2bUX0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
26
- "America/Araguaina|-03|30|0|||0",
27
- "America/Asuncion|-03 -04 -03|30 40 30|0102|2c2r0 1ip0 3z0||100",
28
- "America/Bahia_Banderas|CST|60|0|||0",
29
- "America/Barbados|AST|40|0|||0",
30
- "America/Boa_Vista|-04|40|0|||0",
31
- "America/Bogota|-05|50|0|||0",
32
- "America/Boise|MST MDT|70 60|01010101010|2bUV0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
33
- "America/Cancun|EST|50|0|||0",
34
- "America/Chicago|CST CDT|60 50|01010101010|2bUU0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
35
- "America/Coyhaique|-03 -04 -03|30 40 30|0102|2c830 11B0 1hb0||100",
36
- "America/Dawson|MST|70|0|||0",
37
- "America/Detroit|EST EDT|50 40|01010101010|2bUT0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
38
- "America/Edmonton|MST MDT CST|70 60 60|0101012|2bUV0 1zb0 Op0 1zb0 Op0 1zb0||010",
39
- "America/Glace_Bay|AST ADT|40 30|01010101010|2bUS0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
40
- "America/Havana|CST CDT|50 40|01010101010|2bUR0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0||01",
41
- "America/Los_Angeles|PST PDT|80 70|01010101010|2bUW0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
42
- "America/Miquelon|-03 -02|30 20|01010101010|2bUR0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
43
- "America/Noronha|-02|20|0|||0",
44
- "America/Nuuk|-02 -01|20 10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
45
- "America/Santiago|-03 -04|30 40|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10",
46
- "America/Scoresbysund|-01 -01 -02|10 10 20|01212121212|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||010",
47
- "America/St_Johns|NST NDT|3u 2u|01010101010|2bURu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
48
- "America/Vancouver|PST PDT MST|80 70 70|0101012|2bUW0 1zb0 Op0 1zb0 Op0 1zb0||010",
49
- "America/Winnipeg|CST CDT EST|60 50 50|0101012|2bUU0 1zb0 Op0 1zb0 Op0 1zb0||010",
50
- "Antarctica/Casey|+08|-80|0|||0",
51
- "Antarctica/Davis|+07|-70|0|||0",
52
- "Antarctica/Macquarie|AEDT AEST|-b0 -a0|01010101010|2c7Q0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
53
- "Antarctica/Mawson|+05|-50|0|||0",
54
- "Antarctica/Troll|+00 +02|0 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
55
- "Asia/Almaty|+06 +05|-60 -50|01|2bR60||00",
56
- "Asia/Amman|+03|-30|0|||0",
57
- "Asia/Anadyr|+12|-c0|0|||0",
58
- "Asia/Baku|+04|-40|0|||0",
59
- "Asia/Beirut|EET EEST|-20 -30|01010101010|2c5a0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01",
60
- "Asia/Bishkek|+06|-60|0|||0",
61
- "Asia/Chita|+09|-90|0|||0",
62
- "Asia/Colombo|+0530|-5u|0|||0",
63
- "Asia/Famagusta|EET EEST|-20 -30|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
64
- "Asia/Gaza|EET EEST|-20 -30|01010101010|2cdc0 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01",
65
- "Asia/Hong_Kong|HKT|-80|0|||0",
66
- "Asia/Jakarta|WIB|-70|0|||0",
67
- "Asia/Jayapura|WIT|-90|0|||0",
68
- "Asia/Jerusalem|IST IDT|-20 -30|01010101010|2c4o0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0||01",
69
- "Asia/Kabul|+0430|-4u|0|||0",
70
- "Asia/Karachi|PKT|-50|0|||0",
71
- "Asia/Kathmandu|+0545|-5J|0|||0",
72
- "Asia/Kolkata|IST|-5u|0|||0",
73
- "Asia/Macau|CST|-80|0|||0",
74
- "Asia/Magadan|+11|-b0|0|||0",
75
- "Asia/Makassar|WITA|-80|0|||0",
76
- "Asia/Manila|PST|-80|0|||0",
77
- "Asia/Pyongyang|KST|-90|0|||0",
78
- "Asia/Tehran|+0330|-3u|0|||0",
79
- "Asia/Tokyo|JST|-90|0|||0",
80
- "Asia/Ust-Nera|+10|-a0|0|||0",
81
- "Asia/Yangon|+0630|-6u|0|||0",
82
- "Atlantic/Azores|-01 +00|10 0|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
83
- "Atlantic/Canary|WET WEST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
84
- "Atlantic/Cape_Verde|-01|10|0|||0",
85
- "Australia/Adelaide|ACDT ACST|-au -9u|01010101010|2c7Qu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
86
- "Australia/Brisbane|AEST|-a0|0|||0",
87
- "Australia/Darwin|ACST|-9u|0|||0",
88
- "Australia/Eucla|+0845|-8J|0|||0",
89
- "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010|2c7P0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu||10",
90
- "Australia/Perth|AWST|-80|0|||0",
91
- "Etc/GMT+10|-10|a0|0|||0",
92
- "Etc/GMT+11|-11|b0|0|||0",
93
- "Etc/GMT+12|-12|c0|0|||0",
94
- "Etc/GMT+6|-06|60|0|||0",
95
- "Etc/GMT+7|-07|70|0|||0",
96
- "Etc/GMT+8|-08|80|0|||0",
97
- "Etc/GMT+9|-09|90|0|||0",
98
- "Etc/GMT-1|+01|-10|0|||0",
99
- "Etc/GMT-13|+13|-d0|0|||0",
100
- "Etc/GMT-14|+14|-e0|0|||0",
101
- "Etc/GMT-2|+02|-20|0|||0",
102
- "Etc/UTC|UTC|0|0|||0",
103
- "Europe/Dublin|GMT IST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
104
- "Europe/Kirov|MSK|-30|0|||0",
105
- "Europe/London|GMT BST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
106
- "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10",
107
- "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10",
108
- "Pacific/Easter|-05 -06|50 60|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10",
109
- "Pacific/Guam|ChST|-a0|0|||0",
110
- "Pacific/Honolulu|HST|a0|0|||0",
111
- "Pacific/Marquesas|-0930|9u|0|||0",
112
- "Pacific/Norfolk|+12 +11|-c0 -b0|01010101010|2c7P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
113
- "Pacific/Pago_Pago|SST|b0|0|||0"
14
+ "Africa/Abidjan|GMT|0|0|||0|0",
15
+ "Africa/Algiers|CET|-10|0|||0|-10",
16
+ "Africa/Cairo|EET EEST|-20 -30|01010101010|2cfy0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0||01|-20 -20",
17
+ "Africa/Casablanca|+01 +00|-10 0|01010101|2bUO0 e00 2600 gM0 2600 e00 1cL0||10|0 0",
18
+ "Africa/Ceuta|CET CEST|-10 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|-10 -10",
19
+ "Africa/Johannesburg|SAST|-20|0|||0|-20",
20
+ "Africa/Juba|CAT|-20|0|||0|-20",
21
+ "Africa/Lagos|WAT|-10|0|||0|-10",
22
+ "Africa/Nairobi|EAT|-30|0|||0|-30",
23
+ "Africa/Tripoli|EET|-20|0|||0|-20",
24
+ "America/Adak|HST HDT|a0 90|01010101010|2bV00 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|a0 a0",
25
+ "America/Anchorage|AKST AKDT|90 80|01010101010|2bUX0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|90 90",
26
+ "America/Araguaina|-03|30|0|||0|30",
27
+ "America/Asuncion|-03 -04 -03|30 40 30|0102|2c2r0 1ip0 3z0||100|40 40 30",
28
+ "America/Bahia_Banderas|CST|60|0|||0|60",
29
+ "America/Barbados|AST|40|0|||0|40",
30
+ "America/Boa_Vista|-04|40|0|||0|40",
31
+ "America/Bogota|-05|50|0|||0|50",
32
+ "America/Boise|MST MDT|70 60|01010101010|2bUV0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|70 70",
33
+ "America/Cancun|EST|50|0|||0|50",
34
+ "America/Chicago|CST CDT|60 50|01010101010|2bUU0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|60 60",
35
+ "America/Coyhaique|-03 -04 -03|30 40 30|0102|2c830 11B0 1hb0||100|40 40 30",
36
+ "America/Dawson|MST|70|0|||0|70",
37
+ "America/Detroit|EST EDT|50 40|01010101010|2bUT0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|50 50",
38
+ "America/Edmonton|MST MDT CST|70 60 60|0101012|2bUV0 1zb0 Op0 1zb0 Op0 1zb0||010|70 70 60",
39
+ "America/Glace_Bay|AST ADT|40 30|01010101010|2bUS0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|40 40",
40
+ "America/Havana|CST CDT|50 40|01010101010|2bUR0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0||01|50 50",
41
+ "America/Los_Angeles|PST PDT|80 70|01010101010|2bUW0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|80 80",
42
+ "America/Miquelon|-03 -02|30 20|01010101010|2bUR0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|30 30",
43
+ "America/Noronha|-02|20|0|||0|20",
44
+ "America/Nuuk|-02 -01|20 10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|20 20",
45
+ "America/Santiago|-03 -04|30 40|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10|40 40",
46
+ "America/Scoresbysund|-01 -01 -02|10 10 20|01212121212|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||010|10 20 20",
47
+ "America/St_Johns|NST NDT|3u 2u|01010101010|2bURu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|3u 3u",
48
+ "America/Vancouver|PST PDT MST|80 70 70|0101012|2bUW0 1zb0 Op0 1zb0 Op0 1zb0||010|80 80 70",
49
+ "America/Winnipeg|CST CDT EST|60 50 50|0101012|2bUU0 1zb0 Op0 1zb0 Op0 1zb0||010|60 60 50",
50
+ "Antarctica/Casey|+08|-80|0|||0|-80",
51
+ "Antarctica/Davis|+07|-70|0|||0|-70",
52
+ "Antarctica/Macquarie|AEDT AEST|-b0 -a0|01010101010|2c7Q0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-a0 -a0",
53
+ "Antarctica/Mawson|+05|-50|0|||0|-50",
54
+ "Antarctica/Troll|+00 +02|0 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
55
+ "Asia/Almaty|+06 +05|-60 -50|01|2bR60||00|-60 -50",
56
+ "Asia/Amman|+03|-30|0|||0|-30",
57
+ "Asia/Anadyr|+12|-c0|0|||0|-c0",
58
+ "Asia/Baku|+04|-40|0|||0|-40",
59
+ "Asia/Beirut|EET EEST|-20 -30|01010101010|2c5a0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01|-20 -20",
60
+ "Asia/Bishkek|+06|-60|0|||0|-60",
61
+ "Asia/Chita|+09|-90|0|||0|-90",
62
+ "Asia/Colombo|+0530|-5u|0|||0|-5u",
63
+ "Asia/Famagusta|EET EEST|-20 -30|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|-20 -20",
64
+ "Asia/Gaza|EET EEST|-20 -30|01010101010|2cdc0 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01|-20 -20",
65
+ "Asia/Hong_Kong|HKT|-80|0|||0|-80",
66
+ "Asia/Jakarta|WIB|-70|0|||0|-70",
67
+ "Asia/Jayapura|WIT|-90|0|||0|-90",
68
+ "Asia/Jerusalem|IST IDT|-20 -30|01010101010|2c4o0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0||01|-20 -20",
69
+ "Asia/Kabul|+0430|-4u|0|||0|-4u",
70
+ "Asia/Karachi|PKT|-50|0|||0|-50",
71
+ "Asia/Kathmandu|+0545|-5J|0|||0|-5J",
72
+ "Asia/Kolkata|IST|-5u|0|||0|-5u",
73
+ "Asia/Macau|CST|-80|0|||0|-80",
74
+ "Asia/Magadan|+11|-b0|0|||0|-b0",
75
+ "Asia/Makassar|WITA|-80|0|||0|-80",
76
+ "Asia/Manila|PST|-80|0|||0|-80",
77
+ "Asia/Pyongyang|KST|-90|0|||0|-90",
78
+ "Asia/Tehran|+0330|-3u|0|||0|-3u",
79
+ "Asia/Tokyo|JST|-90|0|||0|-90",
80
+ "Asia/Ust-Nera|+10|-a0|0|||0|-a0",
81
+ "Asia/Yangon|+0630|-6u|0|||0|-6u",
82
+ "Atlantic/Azores|-01 +00|10 0|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|10 10",
83
+ "Atlantic/Canary|WET WEST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
84
+ "Atlantic/Cape_Verde|-01|10|0|||0|10",
85
+ "Australia/Adelaide|ACDT ACST|-au -9u|01010101010|2c7Qu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-9u -9u",
86
+ "Australia/Brisbane|AEST|-a0|0|||0|-a0",
87
+ "Australia/Darwin|ACST|-9u|0|||0|-9u",
88
+ "Australia/Eucla|+0845|-8J|0|||0|-8J",
89
+ "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010|2c7P0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu||10|-au -au",
90
+ "Australia/Perth|AWST|-80|0|||0|-80",
91
+ "Etc/GMT+10|-10|a0|0|||0|a0",
92
+ "Etc/GMT+11|-11|b0|0|||0|b0",
93
+ "Etc/GMT+12|-12|c0|0|||0|c0",
94
+ "Etc/GMT+6|-06|60|0|||0|60",
95
+ "Etc/GMT+7|-07|70|0|||0|70",
96
+ "Etc/GMT+8|-08|80|0|||0|80",
97
+ "Etc/GMT+9|-09|90|0|||0|90",
98
+ "Etc/GMT-1|+01|-10|0|||0|-10",
99
+ "Etc/GMT-13|+13|-d0|0|||0|-d0",
100
+ "Etc/GMT-14|+14|-e0|0|||0|-e0",
101
+ "Etc/GMT-2|+02|-20|0|||0|-20",
102
+ "Etc/UTC|UTC|0|0|||0|0",
103
+ "Europe/Dublin|GMT IST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
104
+ "Europe/Kirov|MSK|-30|0|||0|-30",
105
+ "Europe/London|GMT BST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
106
+ "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10|-c0 -c0",
107
+ "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10|-cJ -cJ",
108
+ "Pacific/Easter|-05 -06|50 60|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10|60 60",
109
+ "Pacific/Guam|ChST|-a0|0|||0|-a0",
110
+ "Pacific/Honolulu|HST|a0|0|||0|a0",
111
+ "Pacific/Marquesas|-0930|9u|0|||0|9u",
112
+ "Pacific/Norfolk|+12 +11|-c0 -b0|01010101010|2c7P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-b0 -b0",
113
+ "Pacific/Pago_Pago|SST|b0|0|||0|b0"
114
114
  ];
115
115
  var links$1 = [
116
116
  "Africa/Abidjan|Africa/Accra",
@@ -655,21 +655,21 @@
655
655
  }
656
656
  }
657
657
 
658
- var MomentZoneRules = function (_ZoneRules) {
659
- function MomentZoneRules(tzdbInfo) {
658
+ var TzdbZoneRules = function (_ZoneRules) {
659
+ function TzdbZoneRules(tzdbInfo) {
660
660
  var _this;
661
661
  _this = _ZoneRules.call(this) || this;
662
662
  _this._tzdbInfo = tzdbInfo;
663
663
  _this._ldtUntils = new LDTUntils(_this._tzdbInfo.untils, _this._tzdbInfo.offsets);
664
664
  return _this;
665
665
  }
666
- _inheritsLoose(MomentZoneRules, _ZoneRules);
667
- var _proto = MomentZoneRules.prototype;
666
+ _inheritsLoose(TzdbZoneRules, _ZoneRules);
667
+ var _proto = TzdbZoneRules.prototype;
668
668
  _proto.isFixedOffset = function isFixedOffset() {
669
669
  return this._tzdbInfo.offsets.length === 1;
670
670
  };
671
671
  _proto.offsetOfInstant = function offsetOfInstant(instant) {
672
- var epochMilli = instant.toEpochMilli();
672
+ var epochMilli = epochMilliOf(instant);
673
673
  return this.offsetOfEpochMilli(epochMilli);
674
674
  };
675
675
  _proto.offsetOfEpochMilli = function offsetOfEpochMilli(epochMilli) {
@@ -717,13 +717,22 @@
717
717
  return null;
718
718
  };
719
719
  _proto.standardOffset = function standardOffset(instant) {
720
- notSupported('ZoneRules.standardOffset');
720
+ return core.ZoneOffset.ofTotalSeconds(this._standardOffsetInSeconds(epochMilliOf(instant)));
721
+ };
722
+ _proto._standardOffsetInSeconds = function _standardOffsetInSeconds(epochMilli) {
723
+ var stdOffsets = this._tzdbInfo.stdOffsets;
724
+ if (stdOffsets == null) {
725
+ throw new Error("The tz data of zone " + this._tzdbInfo.name + " has no standard offsets, " + 'load tz data with standard offsets (packed field 7) for standardOffset, daylightSavings and isDaylightSavings');
726
+ }
727
+ return -offsetInSeconds(stdOffsets[binarySearch(this._tzdbInfo.untils, epochMilli)]);
721
728
  };
722
729
  _proto.daylightSavings = function daylightSavings(instant) {
723
- notSupported('ZoneRules.daylightSavings');
730
+ var epochMilli = epochMilliOf(instant);
731
+ var index = binarySearch(this._tzdbInfo.untils, epochMilli);
732
+ return core.Duration.ofSeconds(this._offsetByIndexInSeconds(index) - this._standardOffsetInSeconds(epochMilli));
724
733
  };
725
734
  _proto.isDaylightSavings = function isDaylightSavings(instant) {
726
- notSupported('ZoneRules.isDaylightSavings');
735
+ return !this.daylightSavings(instant).isZero();
727
736
  };
728
737
  _proto.isValidOffset = function isValidOffset(localDateTime, offset) {
729
738
  return this.validOffsets(localDateTime).some(function (o) {
@@ -731,10 +740,41 @@
731
740
  });
732
741
  };
733
742
  _proto.nextTransition = function nextTransition(instant) {
734
- notSupported('ZoneRules.nextTransition');
743
+ var indices = this._transitionIndices();
744
+ var untils = this._tzdbInfo.untils;
745
+ var epochMilli = epochMilliOf(instant);
746
+ var k = firstIndexWhere(indices, function (i) {
747
+ return untils[i] > epochMilli;
748
+ });
749
+ return k < indices.length ? this._createTransition(indices[k]) : null;
735
750
  };
736
751
  _proto.previousTransition = function previousTransition(instant) {
737
- notSupported('ZoneRules.previousTransition');
752
+ var indices = this._transitionIndices();
753
+ var untils = this._tzdbInfo.untils;
754
+ var epochMilli = epochMilliOf(instant) + (instant.nano() % 1000000 > 0 ? 1 : 0);
755
+ var k = firstIndexWhere(indices, function (i) {
756
+ return untils[i] >= epochMilli;
757
+ });
758
+ return k > 0 ? this._createTransition(indices[k - 1]) : null;
759
+ };
760
+ _proto._transitionIndices = function _transitionIndices() {
761
+ var tzdbInfo = this._tzdbInfo;
762
+ if (tzdbInfo._transitionIndices == null) {
763
+ var indices = [];
764
+ for (var i = 0; i < tzdbInfo.offsets.length - 1; i++) {
765
+ if (this._offsetByIndexInSeconds(i) !== this._offsetByIndexInSeconds(i + 1)) {
766
+ indices.push(i);
767
+ }
768
+ }
769
+ tzdbInfo._transitionIndices = indices;
770
+ }
771
+ return tzdbInfo._transitionIndices;
772
+ };
773
+ _proto._createTransition = function _createTransition(index) {
774
+ var offsetBefore = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));
775
+ var offsetAfter = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index + 1));
776
+ var instant = core.Instant.ofEpochMilli(this._tzdbInfo.untils[index]);
777
+ return core.ZoneOffsetTransition.of(core.LocalDateTime.ofInstant(instant, offsetBefore), offsetBefore, offsetAfter);
738
778
  };
739
779
  _proto.transitions = function transitions() {
740
780
  notSupported('ZoneRules.transitions');
@@ -746,7 +786,7 @@
746
786
  if (this === other) {
747
787
  return true;
748
788
  }
749
- if (other instanceof MomentZoneRules) {
789
+ if (other instanceof TzdbZoneRules) {
750
790
  return this._tzdbInfo === other._tzdbInfo;
751
791
  }
752
792
  return false;
@@ -754,7 +794,7 @@
754
794
  _proto.toString = function toString() {
755
795
  return this._tzdbInfo.name;
756
796
  };
757
- return MomentZoneRules;
797
+ return TzdbZoneRules;
758
798
  }(core.ZoneRules);
759
799
  var LDTUntils = function () {
760
800
  function LDTUntils(_tzdbUntils, tzdbOffsets) {
@@ -809,14 +849,18 @@
809
849
  return hi;
810
850
  }
811
851
  function offsetInSeconds(tzdbOffset) {
812
- return roundDown(+tzdbOffset * 60);
852
+ return Math.round(+tzdbOffset * 60);
813
853
  }
814
- function roundDown(r) {
815
- if (r < 0) {
816
- return Math.ceil(r);
817
- } else {
818
- return Math.floor(r);
854
+ var MAX_EPOCH_SECOND_FOR_MILLIS = Math.floor(Number.MAX_SAFE_INTEGER / 1000) - 1;
855
+ function epochMilliOf(instant) {
856
+ var epochSecond = instant.epochSecond();
857
+ if (epochSecond > MAX_EPOCH_SECOND_FOR_MILLIS) {
858
+ return Infinity;
859
+ }
860
+ if (epochSecond < -MAX_EPOCH_SECOND_FOR_MILLIS) {
861
+ return -Infinity;
819
862
  }
863
+ return instant.toEpochMilli();
820
864
  }
821
865
  function binarySearch(array, value) {
822
866
  var hi = array.length - 1,
@@ -831,6 +875,19 @@
831
875
  }
832
876
  return hi;
833
877
  }
878
+ function firstIndexWhere(array, predicate) {
879
+ var lo = 0,
880
+ hi = array.length;
881
+ while (lo < hi) {
882
+ var mid = lo + hi >> 1;
883
+ if (predicate(array[mid])) {
884
+ hi = mid;
885
+ } else {
886
+ lo = mid + 1;
887
+ }
888
+ }
889
+ return lo;
890
+ }
834
891
  function notSupported(msg) {
835
892
  throw new Error("not supported: " + msg);
836
893
  }
@@ -890,18 +947,25 @@
890
947
  var data = string.split('|'),
891
948
  offsets = data[2].split(' '),
892
949
  indices = data[3].split(''),
893
- untils = data[4].split(' ');
950
+ untils = data[4].split(' '),
951
+ stdOffsets = data[7] ? data[7].split(' ') : null,
952
+ result;
894
953
  arrayToInt(offsets);
895
954
  arrayToInt(indices);
896
955
  arrayToInt(untils);
897
956
  intToUntil(untils, indices.length);
898
- return {
957
+ result = {
899
958
  name: data[0],
900
959
  abbrs: mapIndices(data[1].split(' '), indices),
901
960
  offsets: mapIndices(offsets, indices),
902
961
  untils: untils,
903
962
  population: data[5] | 0
904
963
  };
964
+ if (stdOffsets) {
965
+ arrayToInt(stdOffsets);
966
+ result.stdOffsets = mapIndices(stdOffsets, indices);
967
+ }
968
+ return result;
905
969
  }
906
970
 
907
971
  var TZDB_DATA;
@@ -909,28 +973,28 @@
909
973
  var AVAILABLE_ZONE_IDS = [];
910
974
  var zones = {};
911
975
  var links = {};
912
- var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
913
- function MomentZoneRulesProvider() {
976
+ var TzdbZoneRulesProvider = function (_ZoneRulesProvider) {
977
+ function TzdbZoneRulesProvider() {
914
978
  return _ZoneRulesProvider.apply(this, arguments) || this;
915
979
  }
916
- _inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
917
- MomentZoneRulesProvider.getRules = function getRules(zoneId) {
980
+ _inheritsLoose(TzdbZoneRulesProvider, _ZoneRulesProvider);
981
+ TzdbZoneRulesProvider.getRules = function getRules(zoneId) {
918
982
  var tzdbZoneInfo = zones[links[zoneId]];
919
983
  if (tzdbZoneInfo == null) {
920
984
  throw new core.DateTimeException("Unknown time-zone ID: " + zoneId);
921
985
  }
922
- return new MomentZoneRules(tzdbZoneInfo);
986
+ return new TzdbZoneRules(tzdbZoneInfo);
923
987
  };
924
- MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
988
+ TzdbZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
925
989
  return AVAILABLE_ZONE_IDS;
926
990
  };
927
- MomentZoneRulesProvider.getVersion = function getVersion() {
991
+ TzdbZoneRulesProvider.getVersion = function getVersion() {
928
992
  return TZDB_VERSION;
929
993
  };
930
- MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
994
+ TzdbZoneRulesProvider.getTzdbData = function getTzdbData() {
931
995
  return TZDB_DATA;
932
996
  };
933
- MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
997
+ TzdbZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
934
998
  TZDB_DATA = packedJson;
935
999
  TZDB_VERSION = packedJson.version;
936
1000
  for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
@@ -947,7 +1011,7 @@
947
1011
  links[link[1]] = link[0];
948
1012
  }
949
1013
  };
950
- return MomentZoneRulesProvider;
1014
+ return TzdbZoneRulesProvider;
951
1015
  }(core.ZoneRulesProvider);
952
1016
 
953
1017
  function getResolvedZoneId(ZoneId) {
@@ -973,10 +1037,10 @@
973
1037
  */
974
1038
 
975
1039
  function plug (jsJoda) {
976
- jsJoda.ZoneRulesProvider.getRules = MomentZoneRulesProvider.getRules;
977
- jsJoda.ZoneRulesProvider.getAvailableZoneIds = MomentZoneRulesProvider.getAvailableZoneIds;
978
- jsJoda.ZoneRulesProvider.getTzdbData = MomentZoneRulesProvider.getTzdbData;
979
- jsJoda.ZoneRulesProvider.loadTzdbData = MomentZoneRulesProvider.loadTzdbData;
1040
+ jsJoda.ZoneRulesProvider.getRules = TzdbZoneRulesProvider.getRules;
1041
+ jsJoda.ZoneRulesProvider.getAvailableZoneIds = TzdbZoneRulesProvider.getAvailableZoneIds;
1042
+ jsJoda.ZoneRulesProvider.getTzdbData = TzdbZoneRulesProvider.getTzdbData;
1043
+ jsJoda.ZoneRulesProvider.loadTzdbData = TzdbZoneRulesProvider.loadTzdbData;
980
1044
  extendSystemDefaultZoneId(jsJoda.ZoneId);
981
1045
  return jsJoda;
982
1046
  }
@@ -995,7 +1059,7 @@
995
1059
  * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
996
1060
  */
997
1061
 
998
- MomentZoneRulesProvider.loadTzdbData(latest);
1062
+ TzdbZoneRulesProvider.loadTzdbData(latest);
999
1063
  autoPlug();
1000
1064
 
1001
1065
  }));