@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,112 +1,112 @@
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)
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,21 +651,21 @@ 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
  };
667
667
  _proto.offsetOfInstant = function offsetOfInstant(instant) {
668
- var epochMilli = instant.toEpochMilli();
668
+ var epochMilli = epochMilliOf(instant);
669
669
  return this.offsetOfEpochMilli(epochMilli);
670
670
  };
671
671
  _proto.offsetOfEpochMilli = function offsetOfEpochMilli(epochMilli) {
@@ -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(epochMilliOf(instant)));
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 = epochMilliOf(instant);
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 = epochMilliOf(instant);
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 = epochMilliOf(instant) + (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) {
@@ -805,14 +845,18 @@ function ldtBinarySearch(array, value) {
805
845
  return hi;
806
846
  }
807
847
  function offsetInSeconds(tzdbOffset) {
808
- return roundDown(+tzdbOffset * 60);
848
+ return Math.round(+tzdbOffset * 60);
809
849
  }
810
- function roundDown(r) {
811
- if (r < 0) {
812
- return Math.ceil(r);
813
- } else {
814
- return Math.floor(r);
850
+ var MAX_EPOCH_SECOND_FOR_MILLIS = Math.floor(Number.MAX_SAFE_INTEGER / 1000) - 1;
851
+ function epochMilliOf(instant) {
852
+ var epochSecond = instant.epochSecond();
853
+ if (epochSecond > MAX_EPOCH_SECOND_FOR_MILLIS) {
854
+ return Infinity;
855
+ }
856
+ if (epochSecond < -MAX_EPOCH_SECOND_FOR_MILLIS) {
857
+ return -Infinity;
815
858
  }
859
+ return instant.toEpochMilli();
816
860
  }
817
861
  function binarySearch(array, value) {
818
862
  var hi = array.length - 1,
@@ -827,6 +871,19 @@ function binarySearch(array, value) {
827
871
  }
828
872
  return hi;
829
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
+ }
830
887
  function notSupported(msg) {
831
888
  throw new Error("not supported: " + msg);
832
889
  }
@@ -886,18 +943,25 @@ function unpack(string) {
886
943
  var data = string.split('|'),
887
944
  offsets = data[2].split(' '),
888
945
  indices = data[3].split(''),
889
- untils = data[4].split(' ');
946
+ untils = data[4].split(' '),
947
+ stdOffsets = data[7] ? data[7].split(' ') : null,
948
+ result;
890
949
  arrayToInt(offsets);
891
950
  arrayToInt(indices);
892
951
  arrayToInt(untils);
893
952
  intToUntil(untils, indices.length);
894
- return {
953
+ result = {
895
954
  name: data[0],
896
955
  abbrs: mapIndices(data[1].split(' '), indices),
897
956
  offsets: mapIndices(offsets, indices),
898
957
  untils: untils,
899
958
  population: data[5] | 0
900
959
  };
960
+ if (stdOffsets) {
961
+ arrayToInt(stdOffsets);
962
+ result.stdOffsets = mapIndices(stdOffsets, indices);
963
+ }
964
+ return result;
901
965
  }
902
966
 
903
967
  var TZDB_DATA;
@@ -905,28 +969,28 @@ var TZDB_VERSION;
905
969
  var AVAILABLE_ZONE_IDS = [];
906
970
  var zones = {};
907
971
  var links = {};
908
- var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
909
- function MomentZoneRulesProvider() {
972
+ var TzdbZoneRulesProvider = function (_ZoneRulesProvider) {
973
+ function TzdbZoneRulesProvider() {
910
974
  return _ZoneRulesProvider.apply(this, arguments) || this;
911
975
  }
912
- _inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
913
- MomentZoneRulesProvider.getRules = function getRules(zoneId) {
976
+ _inheritsLoose(TzdbZoneRulesProvider, _ZoneRulesProvider);
977
+ TzdbZoneRulesProvider.getRules = function getRules(zoneId) {
914
978
  var tzdbZoneInfo = zones[links[zoneId]];
915
979
  if (tzdbZoneInfo == null) {
916
980
  throw new DateTimeException("Unknown time-zone ID: " + zoneId);
917
981
  }
918
- return new MomentZoneRules(tzdbZoneInfo);
982
+ return new TzdbZoneRules(tzdbZoneInfo);
919
983
  };
920
- MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
984
+ TzdbZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
921
985
  return AVAILABLE_ZONE_IDS;
922
986
  };
923
- MomentZoneRulesProvider.getVersion = function getVersion() {
987
+ TzdbZoneRulesProvider.getVersion = function getVersion() {
924
988
  return TZDB_VERSION;
925
989
  };
926
- MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
990
+ TzdbZoneRulesProvider.getTzdbData = function getTzdbData() {
927
991
  return TZDB_DATA;
928
992
  };
929
- MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
993
+ TzdbZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
930
994
  TZDB_DATA = packedJson;
931
995
  TZDB_VERSION = packedJson.version;
932
996
  for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
@@ -943,7 +1007,7 @@ var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
943
1007
  links[link[1]] = link[0];
944
1008
  }
945
1009
  };
946
- return MomentZoneRulesProvider;
1010
+ return TzdbZoneRulesProvider;
947
1011
  }(ZoneRulesProvider);
948
1012
 
949
1013
  function getResolvedZoneId(ZoneId) {
@@ -969,10 +1033,10 @@ function extendSystemDefaultZoneId(ZoneId) {
969
1033
  */
970
1034
 
971
1035
  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;
1036
+ jsJoda.ZoneRulesProvider.getRules = TzdbZoneRulesProvider.getRules;
1037
+ jsJoda.ZoneRulesProvider.getAvailableZoneIds = TzdbZoneRulesProvider.getAvailableZoneIds;
1038
+ jsJoda.ZoneRulesProvider.getTzdbData = TzdbZoneRulesProvider.getTzdbData;
1039
+ jsJoda.ZoneRulesProvider.loadTzdbData = TzdbZoneRulesProvider.loadTzdbData;
976
1040
  extendSystemDefaultZoneId(jsJoda.ZoneId);
977
1041
  return jsJoda;
978
1042
  }
@@ -991,6 +1055,6 @@ function autoPlug() {
991
1055
  * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
992
1056
  */
993
1057
 
994
- MomentZoneRulesProvider.loadTzdbData(latest);
1058
+ TzdbZoneRulesProvider.loadTzdbData(latest);
995
1059
  autoPlug();
996
1060
  //# sourceMappingURL=js-joda-timezone-4-year-range.esm.js.map