@js-joda/timezone 3.0.0 → 3.1.0

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 +203 -143
  3. package/dist/js-joda-timezone-10-year-range.esm.js.map +1 -1
  4. package/dist/js-joda-timezone-10-year-range.js +202 -142
  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 +434 -374
  8. package/dist/js-joda-timezone-300-year-range.esm.js.map +1 -1
  9. package/dist/js-joda-timezone-300-year-range.js +433 -373
  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 +190 -130
  13. package/dist/js-joda-timezone-4-year-range.esm.js.map +1 -1
  14. package/dist/js-joda-timezone-4-year-range.js +189 -129
  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 +319 -259
  18. package/dist/js-joda-timezone-60-year-range.esm.js.map +1 -1
  19. package/dist/js-joda-timezone-60-year-range.js +318 -258
  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 +89 -29
  23. package/dist/js-joda-timezone-empty.esm.js.map +1 -1
  24. package/dist/js-joda-timezone-empty.js +88 -28
  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 +430 -370
  28. package/dist/js-joda-timezone-lifetime-range.esm.js.map +1 -1
  29. package/dist/js-joda-timezone-lifetime-range.js +429 -369
  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 +434 -374
  33. package/dist/js-joda-timezone.esm.js.map +1 -1
  34. package/dist/js-joda-timezone.js +433 -373
  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} +99 -39
  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.0-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,16 +655,16 @@
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
  };
@@ -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(instant.toEpochMilli()));
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 = instant.toEpochMilli();
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 = instant.toEpochMilli();
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 = instant.toEpochMilli() + (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) {
@@ -831,6 +871,19 @@
831
871
  }
832
872
  return hi;
833
873
  }
874
+ function firstIndexWhere(array, predicate) {
875
+ var lo = 0,
876
+ hi = array.length;
877
+ while (lo < hi) {
878
+ var mid = lo + hi >> 1;
879
+ if (predicate(array[mid])) {
880
+ hi = mid;
881
+ } else {
882
+ lo = mid + 1;
883
+ }
884
+ }
885
+ return lo;
886
+ }
834
887
  function notSupported(msg) {
835
888
  throw new Error("not supported: " + msg);
836
889
  }
@@ -890,18 +943,25 @@
890
943
  var data = string.split('|'),
891
944
  offsets = data[2].split(' '),
892
945
  indices = data[3].split(''),
893
- untils = data[4].split(' ');
946
+ untils = data[4].split(' '),
947
+ stdOffsets = data[7] ? data[7].split(' ') : null,
948
+ result;
894
949
  arrayToInt(offsets);
895
950
  arrayToInt(indices);
896
951
  arrayToInt(untils);
897
952
  intToUntil(untils, indices.length);
898
- return {
953
+ result = {
899
954
  name: data[0],
900
955
  abbrs: mapIndices(data[1].split(' '), indices),
901
956
  offsets: mapIndices(offsets, indices),
902
957
  untils: untils,
903
958
  population: data[5] | 0
904
959
  };
960
+ if (stdOffsets) {
961
+ arrayToInt(stdOffsets);
962
+ result.stdOffsets = mapIndices(stdOffsets, indices);
963
+ }
964
+ return result;
905
965
  }
906
966
 
907
967
  var TZDB_DATA;
@@ -909,28 +969,28 @@
909
969
  var AVAILABLE_ZONE_IDS = [];
910
970
  var zones = {};
911
971
  var links = {};
912
- var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
913
- function MomentZoneRulesProvider() {
972
+ var TzdbZoneRulesProvider = function (_ZoneRulesProvider) {
973
+ function TzdbZoneRulesProvider() {
914
974
  return _ZoneRulesProvider.apply(this, arguments) || this;
915
975
  }
916
- _inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
917
- MomentZoneRulesProvider.getRules = function getRules(zoneId) {
976
+ _inheritsLoose(TzdbZoneRulesProvider, _ZoneRulesProvider);
977
+ TzdbZoneRulesProvider.getRules = function getRules(zoneId) {
918
978
  var tzdbZoneInfo = zones[links[zoneId]];
919
979
  if (tzdbZoneInfo == null) {
920
980
  throw new core.DateTimeException("Unknown time-zone ID: " + zoneId);
921
981
  }
922
- return new MomentZoneRules(tzdbZoneInfo);
982
+ return new TzdbZoneRules(tzdbZoneInfo);
923
983
  };
924
- MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
984
+ TzdbZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
925
985
  return AVAILABLE_ZONE_IDS;
926
986
  };
927
- MomentZoneRulesProvider.getVersion = function getVersion() {
987
+ TzdbZoneRulesProvider.getVersion = function getVersion() {
928
988
  return TZDB_VERSION;
929
989
  };
930
- MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
990
+ TzdbZoneRulesProvider.getTzdbData = function getTzdbData() {
931
991
  return TZDB_DATA;
932
992
  };
933
- MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
993
+ TzdbZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
934
994
  TZDB_DATA = packedJson;
935
995
  TZDB_VERSION = packedJson.version;
936
996
  for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
@@ -947,7 +1007,7 @@
947
1007
  links[link[1]] = link[0];
948
1008
  }
949
1009
  };
950
- return MomentZoneRulesProvider;
1010
+ return TzdbZoneRulesProvider;
951
1011
  }(core.ZoneRulesProvider);
952
1012
 
953
1013
  function getResolvedZoneId(ZoneId) {
@@ -973,10 +1033,10 @@
973
1033
  */
974
1034
 
975
1035
  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;
1036
+ jsJoda.ZoneRulesProvider.getRules = TzdbZoneRulesProvider.getRules;
1037
+ jsJoda.ZoneRulesProvider.getAvailableZoneIds = TzdbZoneRulesProvider.getAvailableZoneIds;
1038
+ jsJoda.ZoneRulesProvider.getTzdbData = TzdbZoneRulesProvider.getTzdbData;
1039
+ jsJoda.ZoneRulesProvider.loadTzdbData = TzdbZoneRulesProvider.loadTzdbData;
980
1040
  extendSystemDefaultZoneId(jsJoda.ZoneId);
981
1041
  return jsJoda;
982
1042
  }
@@ -995,7 +1055,7 @@
995
1055
  * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
996
1056
  */
997
1057
 
998
- MomentZoneRulesProvider.loadTzdbData(latest);
1058
+ TzdbZoneRulesProvider.loadTzdbData(latest);
999
1059
  autoPlug();
1000
1060
 
1001
1061
  }));