Skip to content

Commit 25f19b6

Browse files
committed
Build moment-timezone 0.5.44
1 parent 4734cb2 commit 25f19b6

9 files changed

+230
-98
lines changed

builds/moment-timezone-with-data-10-year-range.js

+55-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! moment-timezone.js
2-
//! version : 0.5.43
2+
//! version : 0.5.44
33
//! Copyright (c) JS Foundation and other contributors
44
//! license : MIT
55
//! github.com/moment/moment-timezone
@@ -29,7 +29,7 @@
2929
// return moment;
3030
// }
3131

32-
var VERSION = "0.5.43",
32+
var VERSION = "0.5.44",
3333
zones = {},
3434
links = {},
3535
countries = {},
@@ -150,6 +150,30 @@
150150
}
151151
}
152152

153+
function closest (num, arr) {
154+
var len = arr.length;
155+
if (num < arr[0]) {
156+
return 0;
157+
} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {
158+
return len - 1;
159+
} else if (num >= arr[len - 1]) {
160+
return -1;
161+
}
162+
163+
var mid;
164+
var lo = 0;
165+
var hi = len - 1;
166+
while (hi - lo > 1) {
167+
mid = Math.floor((lo + hi) / 2);
168+
if (arr[mid] <= num) {
169+
lo = mid;
170+
} else {
171+
hi = mid;
172+
}
173+
}
174+
return hi;
175+
}
176+
153177
Zone.prototype = {
154178
_set : function (unpacked) {
155179
this.name = unpacked.name;
@@ -164,10 +188,9 @@
164188
untils = this.untils,
165189
i;
166190

167-
for (i = 0; i < untils.length; i++) {
168-
if (target < untils[i]) {
169-
return i;
170-
}
191+
i = closest(target, untils);
192+
if (i >= 0) {
193+
return i;
171194
}
172195
},
173196

@@ -286,17 +309,21 @@
286309
function userOffsets() {
287310
var startYear = new Date().getFullYear() - 2,
288311
last = new OffsetAt(new Date(startYear, 0, 1)),
312+
lastOffset = last.offset,
289313
offsets = [last],
290-
change, next, i;
314+
change, next, nextOffset, i;
291315

292316
for (i = 1; i < 48; i++) {
293-
next = new OffsetAt(new Date(startYear, i, 1));
294-
if (next.offset !== last.offset) {
317+
nextOffset = new Date(startYear, i, 1).getTimezoneOffset();
318+
if (nextOffset !== lastOffset) {
319+
// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets
320+
next = new OffsetAt(new Date(startYear, i, 1));
295321
change = findChange(last, next);
296322
offsets.push(change);
297323
offsets.push(new OffsetAt(new Date(change.at + 6e4)));
324+
last = next;
325+
lastOffset = nextOffset;
298326
}
299-
last = next;
300327
}
301328

302329
for (i = 0; i < 4; i++) {
@@ -334,15 +361,21 @@
334361
var offsetsLength = offsets.length,
335362
filteredGuesses = {},
336363
out = [],
337-
i, j, guessesOffset;
364+
checkedOffsets = {},
365+
i, j, offset, guessesOffset;
338366

339367
for (i = 0; i < offsetsLength; i++) {
340-
guessesOffset = guesses[offsets[i].offset] || {};
368+
offset = offsets[i].offset;
369+
if (checkedOffsets.hasOwnProperty(offset)) {
370+
continue;
371+
}
372+
guessesOffset = guesses[offset] || {};
341373
for (j in guessesOffset) {
342374
if (guessesOffset.hasOwnProperty(j)) {
343375
filteredGuesses[j] = true;
344376
}
345377
}
378+
checkedOffsets[offset] = true;
346379
}
347380

348381
for (i in filteredGuesses) {
@@ -558,10 +591,10 @@
558591
function tz (input) {
559592
var args = Array.prototype.slice.call(arguments, 0, -1),
560593
name = arguments[arguments.length - 1],
561-
zone = getZone(name),
562-
out = moment.utc.apply(null, args);
594+
out = moment.utc.apply(null, args),
595+
zone;
563596

564-
if (zone && !moment.isMoment(input) && needsOffset(out)) {
597+
if (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {
565598
out.add(zone.parse(out), 'minutes');
566599
}
567600

@@ -607,7 +640,7 @@
607640
offset;
608641

609642
if (mom._z === undefined) {
610-
if (zone && needsOffset(mom) && !mom._isUTC) {
643+
if (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {
611644
mom._d = moment.utc(mom._a)._d;
612645
mom.utc().add(zone.parse(mom), 'minutes');
613646
}
@@ -691,7 +724,7 @@
691724
}
692725

693726
loadData({
694-
"version": "2023c",
727+
"version": "2023d",
695728
"zones": [
696729
"Africa/Abidjan|GMT|0|0||48e5",
697730
"Africa/Nairobi|EAT|-30|0||47e5",
@@ -735,16 +768,17 @@
735768
"America/Ojinaga|MST MDT CST CDT|70 60 60 50|01010101012323232323232|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e3",
736769
"America/Santiago|-03 -04|30 40|01010101010101010101010|1VJD0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5",
737770
"America/Sao_Paulo|-02 -03|20 30|0101|1Vc20 1HB0 FX0|20e6",
738-
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4",
771+
"America/Scoresbysund|-01 +00 -02|10 0 20|0101010101010202020202|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 2pA0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|452",
739772
"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Vktu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4",
740-
"Antarctica/Casey|+11 +08|-b0 -80|0101010|1Vkh0 1o30 14k0 1kr0 12l0 1o01|10",
773+
"Antarctica/Casey|+11 +08|-b0 -80|010101010101|1Vkh0 1o30 14k0 1kr0 12l0 1o01 14kX 1lf1 14kX 1lf1 13bX|10",
741774
"Asia/Bangkok|+07|-70|0||15e6",
742775
"Asia/Vladivostok|+10|-a0|0||60e4",
743776
"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1VsE0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5",
744777
"Asia/Tashkent|+05|-50|0||23e5",
745778
"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5",
746779
"Europe/Istanbul|+03|-30|0||13e6",
747780
"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|40",
781+
"Antarctica/Vostok|+07 +05|-70 -50|01|2bnv0|25",
748782
"Asia/Dhaka|+06|-60|0||16e6",
749783
"Asia/Amman|EET EEST +03|-20 -30 -30|01010101012|1VrW0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5",
750784
"Asia/Kamchatka|+12|-c0|0||18e4",
@@ -774,6 +808,7 @@
774808
"Asia/Seoul|KST|-90|0||23e6",
775809
"Asia/Tehran|+0330 +0430|-3u -4u|01010101010|1VoIu 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6",
776810
"Asia/Tokyo|JST|-90|0||38e6",
811+
"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4",
777812
"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|27e5",
778813
"Atlantic/Cape_Verde|-01|10|0||50e4",
779814
"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1VsEu 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5",
@@ -1070,7 +1105,6 @@
10701105
"Asia/Chita|Asia/Yakutsk",
10711106
"Asia/Chita|Etc/GMT-9",
10721107
"Asia/Chita|Pacific/Palau",
1073-
"Asia/Dhaka|Antarctica/Vostok",
10741108
"Asia/Dhaka|Asia/Almaty",
10751109
"Asia/Dhaka|Asia/Bishkek",
10761110
"Asia/Dhaka|Asia/Dacca",
@@ -1164,7 +1198,6 @@
11641198
"Asia/Vladivostok|Pacific/Port_Moresby",
11651199
"Asia/Vladivostok|Pacific/Truk",
11661200
"Asia/Vladivostok|Pacific/Yap",
1167-
"Atlantic/Azores|America/Scoresbysund",
11681201
"Atlantic/Cape_Verde|Etc/GMT+1",
11691202
"Australia/Adelaide|Australia/Broken_Hill",
11701203
"Australia/Adelaide|Australia/South",
@@ -1301,7 +1334,7 @@
13011334
"AL|Europe/Tirane",
13021335
"AM|Asia/Yerevan",
13031336
"AO|Africa/Lagos Africa/Luanda",
1304-
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok",
1337+
"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Antarctica/Vostok Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa",
13051338
"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
13061339
"AS|Pacific/Pago_Pago",
13071340
"AT|Europe/Vienna",

builds/moment-timezone-with-data-10-year-range.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)