@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,112 +1,112 @@
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)
5
5
 
6
- import { ZoneOffset, ZoneOffsetTransition, ZoneRules, LocalDateTime, Instant, DateTimeException, ZoneRulesProvider, use } from '@js-joda/core';
6
+ import { ZoneOffset, ZoneOffsetTransition, Duration, Instant, LocalDateTime, ZoneRules, DateTimeException, ZoneRulesProvider, use } from '@js-joda/core';
7
7
 
8
8
  var version = "2026e";
9
9
  var zones$1 = [
10
- "Africa/Abidjan|GMT|0|0|||0",
11
- "Africa/Algiers|CET|-10|0|||0",
12
- "Africa/Cairo|EET EEST|-20 -30|01010101010|2cfy0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0||01",
13
- "Africa/Casablanca|+01 +00|-10 0|01010101|2bUO0 e00 2600 gM0 2600 e00 1cL0||10",
14
- "Africa/Ceuta|CET CEST|-10 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
15
- "Africa/Johannesburg|SAST|-20|0|||0",
16
- "Africa/Juba|CAT|-20|0|||0",
17
- "Africa/Lagos|WAT|-10|0|||0",
18
- "Africa/Nairobi|EAT|-30|0|||0",
19
- "Africa/Tripoli|EET|-20|0|||0",
20
- "America/Adak|HST HDT|a0 90|01010101010|2bV00 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
21
- "America/Anchorage|AKST AKDT|90 80|01010101010|2bUX0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
22
- "America/Araguaina|-03|30|0|||0",
23
- "America/Asuncion|-03 -04 -03|30 40 30|0102|2c2r0 1ip0 3z0||100",
24
- "America/Bahia_Banderas|CST|60|0|||0",
25
- "America/Barbados|AST|40|0|||0",
26
- "America/Boa_Vista|-04|40|0|||0",
27
- "America/Bogota|-05|50|0|||0",
28
- "America/Boise|MST MDT|70 60|01010101010|2bUV0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
29
- "America/Cancun|EST|50|0|||0",
30
- "America/Chicago|CST CDT|60 50|01010101010|2bUU0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
31
- "America/Coyhaique|-03 -04 -03|30 40 30|0102|2c830 11B0 1hb0||100",
32
- "America/Dawson|MST|70|0|||0",
33
- "America/Detroit|EST EDT|50 40|01010101010|2bUT0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
34
- "America/Edmonton|MST MDT CST|70 60 60|0101012|2bUV0 1zb0 Op0 1zb0 Op0 1zb0||010",
35
- "America/Glace_Bay|AST ADT|40 30|01010101010|2bUS0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
36
- "America/Havana|CST CDT|50 40|01010101010|2bUR0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0||01",
37
- "America/Los_Angeles|PST PDT|80 70|01010101010|2bUW0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
38
- "America/Miquelon|-03 -02|30 20|01010101010|2bUR0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
39
- "America/Noronha|-02|20|0|||0",
40
- "America/Nuuk|-02 -01|20 10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
41
- "America/Santiago|-03 -04|30 40|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10",
42
- "America/Scoresbysund|-01 -01 -02|10 10 20|01212121212|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||010",
43
- "America/St_Johns|NST NDT|3u 2u|01010101010|2bURu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01",
44
- "America/Vancouver|PST PDT MST|80 70 70|0101012|2bUW0 1zb0 Op0 1zb0 Op0 1zb0||010",
45
- "America/Winnipeg|CST CDT EST|60 50 50|0101012|2bUU0 1zb0 Op0 1zb0 Op0 1zb0||010",
46
- "Antarctica/Casey|+08|-80|0|||0",
47
- "Antarctica/Davis|+07|-70|0|||0",
48
- "Antarctica/Macquarie|AEDT AEST|-b0 -a0|01010101010|2c7Q0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
49
- "Antarctica/Mawson|+05|-50|0|||0",
50
- "Antarctica/Troll|+00 +02|0 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
51
- "Asia/Almaty|+06 +05|-60 -50|01|2bR60||00",
52
- "Asia/Amman|+03|-30|0|||0",
53
- "Asia/Anadyr|+12|-c0|0|||0",
54
- "Asia/Baku|+04|-40|0|||0",
55
- "Asia/Beirut|EET EEST|-20 -30|01010101010|2c5a0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01",
56
- "Asia/Bishkek|+06|-60|0|||0",
57
- "Asia/Chita|+09|-90|0|||0",
58
- "Asia/Colombo|+0530|-5u|0|||0",
59
- "Asia/Famagusta|EET EEST|-20 -30|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
60
- "Asia/Gaza|EET EEST|-20 -30|01010101010|2cdc0 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01",
61
- "Asia/Hong_Kong|HKT|-80|0|||0",
62
- "Asia/Jakarta|WIB|-70|0|||0",
63
- "Asia/Jayapura|WIT|-90|0|||0",
64
- "Asia/Jerusalem|IST IDT|-20 -30|01010101010|2c4o0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0||01",
65
- "Asia/Kabul|+0430|-4u|0|||0",
66
- "Asia/Karachi|PKT|-50|0|||0",
67
- "Asia/Kathmandu|+0545|-5J|0|||0",
68
- "Asia/Kolkata|IST|-5u|0|||0",
69
- "Asia/Macau|CST|-80|0|||0",
70
- "Asia/Magadan|+11|-b0|0|||0",
71
- "Asia/Makassar|WITA|-80|0|||0",
72
- "Asia/Manila|PST|-80|0|||0",
73
- "Asia/Pyongyang|KST|-90|0|||0",
74
- "Asia/Tehran|+0330|-3u|0|||0",
75
- "Asia/Tokyo|JST|-90|0|||0",
76
- "Asia/Ust-Nera|+10|-a0|0|||0",
77
- "Asia/Yangon|+0630|-6u|0|||0",
78
- "Atlantic/Azores|-01 +00|10 0|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
79
- "Atlantic/Canary|WET WEST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
80
- "Atlantic/Cape_Verde|-01|10|0|||0",
81
- "Australia/Adelaide|ACDT ACST|-au -9u|01010101010|2c7Qu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
82
- "Australia/Brisbane|AEST|-a0|0|||0",
83
- "Australia/Darwin|ACST|-9u|0|||0",
84
- "Australia/Eucla|+0845|-8J|0|||0",
85
- "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010|2c7P0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu||10",
86
- "Australia/Perth|AWST|-80|0|||0",
87
- "Etc/GMT+10|-10|a0|0|||0",
88
- "Etc/GMT+11|-11|b0|0|||0",
89
- "Etc/GMT+12|-12|c0|0|||0",
90
- "Etc/GMT+6|-06|60|0|||0",
91
- "Etc/GMT+7|-07|70|0|||0",
92
- "Etc/GMT+8|-08|80|0|||0",
93
- "Etc/GMT+9|-09|90|0|||0",
94
- "Etc/GMT-1|+01|-10|0|||0",
95
- "Etc/GMT-13|+13|-d0|0|||0",
96
- "Etc/GMT-14|+14|-e0|0|||0",
97
- "Etc/GMT-2|+02|-20|0|||0",
98
- "Etc/UTC|UTC|0|0|||0",
99
- "Europe/Dublin|GMT IST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
100
- "Europe/Kirov|MSK|-30|0|||0",
101
- "Europe/London|GMT BST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01",
102
- "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10",
103
- "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10",
104
- "Pacific/Easter|-05 -06|50 60|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10",
105
- "Pacific/Guam|ChST|-a0|0|||0",
106
- "Pacific/Honolulu|HST|a0|0|||0",
107
- "Pacific/Marquesas|-0930|9u|0|||0",
108
- "Pacific/Norfolk|+12 +11|-c0 -b0|01010101010|2c7P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10",
109
- "Pacific/Pago_Pago|SST|b0|0|||0"
10
+ "Africa/Abidjan|GMT|0|0|||0|0",
11
+ "Africa/Algiers|CET|-10|0|||0|-10",
12
+ "Africa/Cairo|EET EEST|-20 -30|01010101010|2cfy0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0||01|-20 -20",
13
+ "Africa/Casablanca|+01 +00|-10 0|01010101|2bUO0 e00 2600 gM0 2600 e00 1cL0||10|0 0",
14
+ "Africa/Ceuta|CET CEST|-10 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|-10 -10",
15
+ "Africa/Johannesburg|SAST|-20|0|||0|-20",
16
+ "Africa/Juba|CAT|-20|0|||0|-20",
17
+ "Africa/Lagos|WAT|-10|0|||0|-10",
18
+ "Africa/Nairobi|EAT|-30|0|||0|-30",
19
+ "Africa/Tripoli|EET|-20|0|||0|-20",
20
+ "America/Adak|HST HDT|a0 90|01010101010|2bV00 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|a0 a0",
21
+ "America/Anchorage|AKST AKDT|90 80|01010101010|2bUX0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|90 90",
22
+ "America/Araguaina|-03|30|0|||0|30",
23
+ "America/Asuncion|-03 -04 -03|30 40 30|0102|2c2r0 1ip0 3z0||100|40 40 30",
24
+ "America/Bahia_Banderas|CST|60|0|||0|60",
25
+ "America/Barbados|AST|40|0|||0|40",
26
+ "America/Boa_Vista|-04|40|0|||0|40",
27
+ "America/Bogota|-05|50|0|||0|50",
28
+ "America/Boise|MST MDT|70 60|01010101010|2bUV0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|70 70",
29
+ "America/Cancun|EST|50|0|||0|50",
30
+ "America/Chicago|CST CDT|60 50|01010101010|2bUU0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|60 60",
31
+ "America/Coyhaique|-03 -04 -03|30 40 30|0102|2c830 11B0 1hb0||100|40 40 30",
32
+ "America/Dawson|MST|70|0|||0|70",
33
+ "America/Detroit|EST EDT|50 40|01010101010|2bUT0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|50 50",
34
+ "America/Edmonton|MST MDT CST|70 60 60|0101012|2bUV0 1zb0 Op0 1zb0 Op0 1zb0||010|70 70 60",
35
+ "America/Glace_Bay|AST ADT|40 30|01010101010|2bUS0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|40 40",
36
+ "America/Havana|CST CDT|50 40|01010101010|2bUR0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0||01|50 50",
37
+ "America/Los_Angeles|PST PDT|80 70|01010101010|2bUW0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|80 80",
38
+ "America/Miquelon|-03 -02|30 20|01010101010|2bUR0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|30 30",
39
+ "America/Noronha|-02|20|0|||0|20",
40
+ "America/Nuuk|-02 -01|20 10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|20 20",
41
+ "America/Santiago|-03 -04|30 40|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10|40 40",
42
+ "America/Scoresbysund|-01 -01 -02|10 10 20|01212121212|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||010|10 20 20",
43
+ "America/St_Johns|NST NDT|3u 2u|01010101010|2bURu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0||01|3u 3u",
44
+ "America/Vancouver|PST PDT MST|80 70 70|0101012|2bUW0 1zb0 Op0 1zb0 Op0 1zb0||010|80 80 70",
45
+ "America/Winnipeg|CST CDT EST|60 50 50|0101012|2bUU0 1zb0 Op0 1zb0 Op0 1zb0||010|60 60 50",
46
+ "Antarctica/Casey|+08|-80|0|||0|-80",
47
+ "Antarctica/Davis|+07|-70|0|||0|-70",
48
+ "Antarctica/Macquarie|AEDT AEST|-b0 -a0|01010101010|2c7Q0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-a0 -a0",
49
+ "Antarctica/Mawson|+05|-50|0|||0|-50",
50
+ "Antarctica/Troll|+00 +02|0 -20|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
51
+ "Asia/Almaty|+06 +05|-60 -50|01|2bR60||00|-60 -50",
52
+ "Asia/Amman|+03|-30|0|||0|-30",
53
+ "Asia/Anadyr|+12|-c0|0|||0|-c0",
54
+ "Asia/Baku|+04|-40|0|||0|-40",
55
+ "Asia/Beirut|EET EEST|-20 -30|01010101010|2c5a0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01|-20 -20",
56
+ "Asia/Bishkek|+06|-60|0|||0|-60",
57
+ "Asia/Chita|+09|-90|0|||0|-90",
58
+ "Asia/Colombo|+0530|-5u|0|||0|-5u",
59
+ "Asia/Famagusta|EET EEST|-20 -30|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|-20 -20",
60
+ "Asia/Gaza|EET EEST|-20 -30|01010101010|2cdc0 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0||01|-20 -20",
61
+ "Asia/Hong_Kong|HKT|-80|0|||0|-80",
62
+ "Asia/Jakarta|WIB|-70|0|||0|-70",
63
+ "Asia/Jayapura|WIT|-90|0|||0|-90",
64
+ "Asia/Jerusalem|IST IDT|-20 -30|01010101010|2c4o0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0||01|-20 -20",
65
+ "Asia/Kabul|+0430|-4u|0|||0|-4u",
66
+ "Asia/Karachi|PKT|-50|0|||0|-50",
67
+ "Asia/Kathmandu|+0545|-5J|0|||0|-5J",
68
+ "Asia/Kolkata|IST|-5u|0|||0|-5u",
69
+ "Asia/Macau|CST|-80|0|||0|-80",
70
+ "Asia/Magadan|+11|-b0|0|||0|-b0",
71
+ "Asia/Makassar|WITA|-80|0|||0|-80",
72
+ "Asia/Manila|PST|-80|0|||0|-80",
73
+ "Asia/Pyongyang|KST|-90|0|||0|-90",
74
+ "Asia/Tehran|+0330|-3u|0|||0|-3u",
75
+ "Asia/Tokyo|JST|-90|0|||0|-90",
76
+ "Asia/Ust-Nera|+10|-a0|0|||0|-a0",
77
+ "Asia/Yangon|+0630|-6u|0|||0|-6u",
78
+ "Atlantic/Azores|-01 +00|10 0|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|10 10",
79
+ "Atlantic/Canary|WET WEST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
80
+ "Atlantic/Cape_Verde|-01|10|0|||0|10",
81
+ "Australia/Adelaide|ACDT ACST|-au -9u|01010101010|2c7Qu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-9u -9u",
82
+ "Australia/Brisbane|AEST|-a0|0|||0|-a0",
83
+ "Australia/Darwin|ACST|-9u|0|||0|-9u",
84
+ "Australia/Eucla|+0845|-8J|0|||0|-8J",
85
+ "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010|2c7P0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu||10|-au -au",
86
+ "Australia/Perth|AWST|-80|0|||0|-80",
87
+ "Etc/GMT+10|-10|a0|0|||0|a0",
88
+ "Etc/GMT+11|-11|b0|0|||0|b0",
89
+ "Etc/GMT+12|-12|c0|0|||0|c0",
90
+ "Etc/GMT+6|-06|60|0|||0|60",
91
+ "Etc/GMT+7|-07|70|0|||0|70",
92
+ "Etc/GMT+8|-08|80|0|||0|80",
93
+ "Etc/GMT+9|-09|90|0|||0|90",
94
+ "Etc/GMT-1|+01|-10|0|||0|-10",
95
+ "Etc/GMT-13|+13|-d0|0|||0|-d0",
96
+ "Etc/GMT-14|+14|-e0|0|||0|-e0",
97
+ "Etc/GMT-2|+02|-20|0|||0|-20",
98
+ "Etc/UTC|UTC|0|0|||0|0",
99
+ "Europe/Dublin|GMT IST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
100
+ "Europe/Kirov|MSK|-30|0|||0|-30",
101
+ "Europe/London|GMT BST|0 -10|01010101010|2c5d0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0||01|0 0",
102
+ "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10|-c0 -c0",
103
+ "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010|2c7O0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00||10|-cJ -cJ",
104
+ "Pacific/Easter|-05 -06|50 60|01010101010|2c830 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0||10|60 60",
105
+ "Pacific/Guam|ChST|-a0|0|||0|-a0",
106
+ "Pacific/Honolulu|HST|a0|0|||0|a0",
107
+ "Pacific/Marquesas|-0930|9u|0|||0|9u",
108
+ "Pacific/Norfolk|+12 +11|-c0 -b0|01010101010|2c7P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0||10|-b0 -b0",
109
+ "Pacific/Pago_Pago|SST|b0|0|||0|b0"
110
110
  ];
111
111
  var links$1 = [
112
112
  "Africa/Abidjan|Africa/Accra",
@@ -651,16 +651,16 @@ function _unsupportedIterableToArray(r, a) {
651
651
  }
652
652
  }
653
653
 
654
- var MomentZoneRules = function (_ZoneRules) {
655
- function MomentZoneRules(tzdbInfo) {
654
+ var TzdbZoneRules = function (_ZoneRules) {
655
+ function TzdbZoneRules(tzdbInfo) {
656
656
  var _this;
657
657
  _this = _ZoneRules.call(this) || this;
658
658
  _this._tzdbInfo = tzdbInfo;
659
659
  _this._ldtUntils = new LDTUntils(_this._tzdbInfo.untils, _this._tzdbInfo.offsets);
660
660
  return _this;
661
661
  }
662
- _inheritsLoose(MomentZoneRules, _ZoneRules);
663
- var _proto = MomentZoneRules.prototype;
662
+ _inheritsLoose(TzdbZoneRules, _ZoneRules);
663
+ var _proto = TzdbZoneRules.prototype;
664
664
  _proto.isFixedOffset = function isFixedOffset() {
665
665
  return this._tzdbInfo.offsets.length === 1;
666
666
  };
@@ -713,13 +713,22 @@ var MomentZoneRules = function (_ZoneRules) {
713
713
  return null;
714
714
  };
715
715
  _proto.standardOffset = function standardOffset(instant) {
716
- notSupported('ZoneRules.standardOffset');
716
+ return ZoneOffset.ofTotalSeconds(this._standardOffsetInSeconds(instant.toEpochMilli()));
717
+ };
718
+ _proto._standardOffsetInSeconds = function _standardOffsetInSeconds(epochMilli) {
719
+ var stdOffsets = this._tzdbInfo.stdOffsets;
720
+ if (stdOffsets == null) {
721
+ 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');
722
+ }
723
+ return -offsetInSeconds(stdOffsets[binarySearch(this._tzdbInfo.untils, epochMilli)]);
717
724
  };
718
725
  _proto.daylightSavings = function daylightSavings(instant) {
719
- notSupported('ZoneRules.daylightSavings');
726
+ var epochMilli = instant.toEpochMilli();
727
+ var index = binarySearch(this._tzdbInfo.untils, epochMilli);
728
+ return Duration.ofSeconds(this._offsetByIndexInSeconds(index) - this._standardOffsetInSeconds(epochMilli));
720
729
  };
721
730
  _proto.isDaylightSavings = function isDaylightSavings(instant) {
722
- notSupported('ZoneRules.isDaylightSavings');
731
+ return !this.daylightSavings(instant).isZero();
723
732
  };
724
733
  _proto.isValidOffset = function isValidOffset(localDateTime, offset) {
725
734
  return this.validOffsets(localDateTime).some(function (o) {
@@ -727,10 +736,41 @@ var MomentZoneRules = function (_ZoneRules) {
727
736
  });
728
737
  };
729
738
  _proto.nextTransition = function nextTransition(instant) {
730
- notSupported('ZoneRules.nextTransition');
739
+ var indices = this._transitionIndices();
740
+ var untils = this._tzdbInfo.untils;
741
+ var epochMilli = instant.toEpochMilli();
742
+ var k = firstIndexWhere(indices, function (i) {
743
+ return untils[i] > epochMilli;
744
+ });
745
+ return k < indices.length ? this._createTransition(indices[k]) : null;
731
746
  };
732
747
  _proto.previousTransition = function previousTransition(instant) {
733
- notSupported('ZoneRules.previousTransition');
748
+ var indices = this._transitionIndices();
749
+ var untils = this._tzdbInfo.untils;
750
+ var epochMilli = instant.toEpochMilli() + (instant.nano() % 1000000 > 0 ? 1 : 0);
751
+ var k = firstIndexWhere(indices, function (i) {
752
+ return untils[i] >= epochMilli;
753
+ });
754
+ return k > 0 ? this._createTransition(indices[k - 1]) : null;
755
+ };
756
+ _proto._transitionIndices = function _transitionIndices() {
757
+ var tzdbInfo = this._tzdbInfo;
758
+ if (tzdbInfo._transitionIndices == null) {
759
+ var indices = [];
760
+ for (var i = 0; i < tzdbInfo.offsets.length - 1; i++) {
761
+ if (this._offsetByIndexInSeconds(i) !== this._offsetByIndexInSeconds(i + 1)) {
762
+ indices.push(i);
763
+ }
764
+ }
765
+ tzdbInfo._transitionIndices = indices;
766
+ }
767
+ return tzdbInfo._transitionIndices;
768
+ };
769
+ _proto._createTransition = function _createTransition(index) {
770
+ var offsetBefore = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));
771
+ var offsetAfter = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index + 1));
772
+ var instant = Instant.ofEpochMilli(this._tzdbInfo.untils[index]);
773
+ return ZoneOffsetTransition.of(LocalDateTime.ofInstant(instant, offsetBefore), offsetBefore, offsetAfter);
734
774
  };
735
775
  _proto.transitions = function transitions() {
736
776
  notSupported('ZoneRules.transitions');
@@ -742,7 +782,7 @@ var MomentZoneRules = function (_ZoneRules) {
742
782
  if (this === other) {
743
783
  return true;
744
784
  }
745
- if (other instanceof MomentZoneRules) {
785
+ if (other instanceof TzdbZoneRules) {
746
786
  return this._tzdbInfo === other._tzdbInfo;
747
787
  }
748
788
  return false;
@@ -750,7 +790,7 @@ var MomentZoneRules = function (_ZoneRules) {
750
790
  _proto.toString = function toString() {
751
791
  return this._tzdbInfo.name;
752
792
  };
753
- return MomentZoneRules;
793
+ return TzdbZoneRules;
754
794
  }(ZoneRules);
755
795
  var LDTUntils = function () {
756
796
  function LDTUntils(_tzdbUntils, tzdbOffsets) {
@@ -827,6 +867,19 @@ function binarySearch(array, value) {
827
867
  }
828
868
  return hi;
829
869
  }
870
+ function firstIndexWhere(array, predicate) {
871
+ var lo = 0,
872
+ hi = array.length;
873
+ while (lo < hi) {
874
+ var mid = lo + hi >> 1;
875
+ if (predicate(array[mid])) {
876
+ hi = mid;
877
+ } else {
878
+ lo = mid + 1;
879
+ }
880
+ }
881
+ return lo;
882
+ }
830
883
  function notSupported(msg) {
831
884
  throw new Error("not supported: " + msg);
832
885
  }
@@ -886,18 +939,25 @@ function unpack(string) {
886
939
  var data = string.split('|'),
887
940
  offsets = data[2].split(' '),
888
941
  indices = data[3].split(''),
889
- untils = data[4].split(' ');
942
+ untils = data[4].split(' '),
943
+ stdOffsets = data[7] ? data[7].split(' ') : null,
944
+ result;
890
945
  arrayToInt(offsets);
891
946
  arrayToInt(indices);
892
947
  arrayToInt(untils);
893
948
  intToUntil(untils, indices.length);
894
- return {
949
+ result = {
895
950
  name: data[0],
896
951
  abbrs: mapIndices(data[1].split(' '), indices),
897
952
  offsets: mapIndices(offsets, indices),
898
953
  untils: untils,
899
954
  population: data[5] | 0
900
955
  };
956
+ if (stdOffsets) {
957
+ arrayToInt(stdOffsets);
958
+ result.stdOffsets = mapIndices(stdOffsets, indices);
959
+ }
960
+ return result;
901
961
  }
902
962
 
903
963
  var TZDB_DATA;
@@ -905,28 +965,28 @@ var TZDB_VERSION;
905
965
  var AVAILABLE_ZONE_IDS = [];
906
966
  var zones = {};
907
967
  var links = {};
908
- var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
909
- function MomentZoneRulesProvider() {
968
+ var TzdbZoneRulesProvider = function (_ZoneRulesProvider) {
969
+ function TzdbZoneRulesProvider() {
910
970
  return _ZoneRulesProvider.apply(this, arguments) || this;
911
971
  }
912
- _inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
913
- MomentZoneRulesProvider.getRules = function getRules(zoneId) {
972
+ _inheritsLoose(TzdbZoneRulesProvider, _ZoneRulesProvider);
973
+ TzdbZoneRulesProvider.getRules = function getRules(zoneId) {
914
974
  var tzdbZoneInfo = zones[links[zoneId]];
915
975
  if (tzdbZoneInfo == null) {
916
976
  throw new DateTimeException("Unknown time-zone ID: " + zoneId);
917
977
  }
918
- return new MomentZoneRules(tzdbZoneInfo);
978
+ return new TzdbZoneRules(tzdbZoneInfo);
919
979
  };
920
- MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
980
+ TzdbZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
921
981
  return AVAILABLE_ZONE_IDS;
922
982
  };
923
- MomentZoneRulesProvider.getVersion = function getVersion() {
983
+ TzdbZoneRulesProvider.getVersion = function getVersion() {
924
984
  return TZDB_VERSION;
925
985
  };
926
- MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
986
+ TzdbZoneRulesProvider.getTzdbData = function getTzdbData() {
927
987
  return TZDB_DATA;
928
988
  };
929
- MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
989
+ TzdbZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
930
990
  TZDB_DATA = packedJson;
931
991
  TZDB_VERSION = packedJson.version;
932
992
  for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
@@ -943,7 +1003,7 @@ var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
943
1003
  links[link[1]] = link[0];
944
1004
  }
945
1005
  };
946
- return MomentZoneRulesProvider;
1006
+ return TzdbZoneRulesProvider;
947
1007
  }(ZoneRulesProvider);
948
1008
 
949
1009
  function getResolvedZoneId(ZoneId) {
@@ -969,10 +1029,10 @@ function extendSystemDefaultZoneId(ZoneId) {
969
1029
  */
970
1030
 
971
1031
  function plug (jsJoda) {
972
- jsJoda.ZoneRulesProvider.getRules = MomentZoneRulesProvider.getRules;
973
- jsJoda.ZoneRulesProvider.getAvailableZoneIds = MomentZoneRulesProvider.getAvailableZoneIds;
974
- jsJoda.ZoneRulesProvider.getTzdbData = MomentZoneRulesProvider.getTzdbData;
975
- jsJoda.ZoneRulesProvider.loadTzdbData = MomentZoneRulesProvider.loadTzdbData;
1032
+ jsJoda.ZoneRulesProvider.getRules = TzdbZoneRulesProvider.getRules;
1033
+ jsJoda.ZoneRulesProvider.getAvailableZoneIds = TzdbZoneRulesProvider.getAvailableZoneIds;
1034
+ jsJoda.ZoneRulesProvider.getTzdbData = TzdbZoneRulesProvider.getTzdbData;
1035
+ jsJoda.ZoneRulesProvider.loadTzdbData = TzdbZoneRulesProvider.loadTzdbData;
976
1036
  extendSystemDefaultZoneId(jsJoda.ZoneId);
977
1037
  return jsJoda;
978
1038
  }
@@ -991,6 +1051,6 @@ function autoPlug() {
991
1051
  * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
992
1052
  */
993
1053
 
994
- MomentZoneRulesProvider.loadTzdbData(latest);
1054
+ TzdbZoneRulesProvider.loadTzdbData(latest);
995
1055
  autoPlug();
996
1056
  //# sourceMappingURL=js-joda-timezone-4-year-range.esm.js.map