@js-joda/timezone 2.15.0 → 2.15.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.
- package/dist/js-joda-timezone-10-year-range.esm.js +17 -110
- package/dist/js-joda-timezone-10-year-range.esm.js.map +1 -1
- package/dist/js-joda-timezone-10-year-range.js +17 -110
- package/dist/js-joda-timezone-10-year-range.js.map +1 -1
- package/dist/js-joda-timezone-10-year-range.min.js +2 -2
- package/dist/js-joda-timezone-1970-2030.esm.js +17 -110
- package/dist/js-joda-timezone-1970-2030.esm.js.map +1 -1
- package/dist/js-joda-timezone-1970-2030.js +17 -110
- package/dist/js-joda-timezone-1970-2030.js.map +1 -1
- package/dist/js-joda-timezone-1970-2030.min.js +2 -2
- package/dist/js-joda-timezone-2012-2022.esm.js +17 -110
- package/dist/js-joda-timezone-2012-2022.esm.js.map +1 -1
- package/dist/js-joda-timezone-2012-2022.js +17 -110
- package/dist/js-joda-timezone-2012-2022.js.map +1 -1
- package/dist/js-joda-timezone-2012-2022.min.js +2 -2
- package/dist/js-joda-timezone-2017-2027.esm.js +17 -110
- package/dist/js-joda-timezone-2017-2027.esm.js.map +1 -1
- package/dist/js-joda-timezone-2017-2027.js +17 -110
- package/dist/js-joda-timezone-2017-2027.js.map +1 -1
- package/dist/js-joda-timezone-2017-2027.min.js +2 -2
- package/dist/js-joda-timezone-empty.esm.js +17 -110
- package/dist/js-joda-timezone-empty.esm.js.map +1 -1
- package/dist/js-joda-timezone-empty.js +17 -110
- package/dist/js-joda-timezone-empty.js.map +1 -1
- package/dist/js-joda-timezone-empty.min.js +2 -2
- package/dist/js-joda-timezone.esm.js +17 -110
- package/dist/js-joda-timezone.esm.js.map +1 -1
- package/dist/js-joda-timezone.js +17 -110
- package/dist/js-joda-timezone.js.map +1 -1
- package/dist/js-joda-timezone.min.js +2 -2
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//! @version @js-joda/timezone - 2.15.
|
|
1
|
+
//! @version @js-joda/timezone - 2.15.1-2022e-1970-2030
|
|
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)
|
|
@@ -868,19 +868,15 @@
|
|
|
868
868
|
function _inheritsLoose(subClass, superClass) {
|
|
869
869
|
subClass.prototype = Object.create(superClass.prototype);
|
|
870
870
|
subClass.prototype.constructor = subClass;
|
|
871
|
-
|
|
872
871
|
_setPrototypeOf(subClass, superClass);
|
|
873
872
|
}
|
|
874
|
-
|
|
875
873
|
function _setPrototypeOf(o, p) {
|
|
876
|
-
_setPrototypeOf = Object.setPrototypeOf
|
|
874
|
+
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
877
875
|
o.__proto__ = p;
|
|
878
876
|
return o;
|
|
879
877
|
};
|
|
880
|
-
|
|
881
878
|
return _setPrototypeOf(o, p);
|
|
882
879
|
}
|
|
883
|
-
|
|
884
880
|
function _unsupportedIterableToArray(o, minLen) {
|
|
885
881
|
if (!o) return;
|
|
886
882
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -889,19 +885,14 @@
|
|
|
889
885
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
890
886
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
891
887
|
}
|
|
892
|
-
|
|
893
888
|
function _arrayLikeToArray(arr, len) {
|
|
894
889
|
if (len == null || len > arr.length) len = arr.length;
|
|
895
|
-
|
|
896
890
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
897
|
-
|
|
898
891
|
return arr2;
|
|
899
892
|
}
|
|
900
|
-
|
|
901
893
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
902
894
|
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
903
895
|
if (it) return (it = it.call(o)).next.bind(it);
|
|
904
|
-
|
|
905
896
|
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
906
897
|
if (it) o = it;
|
|
907
898
|
var i = 0;
|
|
@@ -915,147 +906,110 @@
|
|
|
915
906
|
};
|
|
916
907
|
};
|
|
917
908
|
}
|
|
918
|
-
|
|
919
909
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
920
910
|
}
|
|
921
911
|
|
|
922
912
|
var MomentZoneRules = function (_ZoneRules) {
|
|
923
913
|
_inheritsLoose(MomentZoneRules, _ZoneRules);
|
|
924
|
-
|
|
925
914
|
function MomentZoneRules(tzdbInfo) {
|
|
926
915
|
var _this;
|
|
927
|
-
|
|
928
916
|
_this = _ZoneRules.call(this) || this;
|
|
929
917
|
_this._tzdbInfo = tzdbInfo;
|
|
930
918
|
_this._ldtUntils = new LDTUntils(_this._tzdbInfo.untils, _this._tzdbInfo.offsets);
|
|
931
919
|
return _this;
|
|
932
920
|
}
|
|
933
|
-
|
|
934
921
|
var _proto = MomentZoneRules.prototype;
|
|
935
|
-
|
|
936
922
|
_proto.isFixedOffset = function isFixedOffset() {
|
|
937
923
|
return this._tzdbInfo.offsets.length === 1;
|
|
938
924
|
};
|
|
939
|
-
|
|
940
925
|
_proto.offsetOfInstant = function offsetOfInstant(instant) {
|
|
941
926
|
var epochMilli = instant.toEpochMilli();
|
|
942
927
|
return this.offsetOfEpochMilli(epochMilli);
|
|
943
928
|
};
|
|
944
|
-
|
|
945
929
|
_proto.offsetOfEpochMilli = function offsetOfEpochMilli(epochMilli) {
|
|
946
930
|
var index = binarySearch(this._tzdbInfo.untils, epochMilli);
|
|
947
931
|
return core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));
|
|
948
932
|
};
|
|
949
|
-
|
|
950
933
|
_proto.offsetOfLocalDateTime = function offsetOfLocalDateTime(localDateTime) {
|
|
951
934
|
var info = this._offsetInfo(localDateTime);
|
|
952
|
-
|
|
953
935
|
if (info instanceof core.ZoneOffsetTransition) {
|
|
954
936
|
return info.offsetBefore();
|
|
955
937
|
}
|
|
956
|
-
|
|
957
938
|
return info;
|
|
958
939
|
};
|
|
959
|
-
|
|
960
940
|
_proto._offsetInfo = function _offsetInfo(localDateTime) {
|
|
961
941
|
var index = ldtBinarySearch(this._ldtUntils, localDateTime);
|
|
962
942
|
var offsetIndex = index >> 1;
|
|
963
|
-
|
|
964
943
|
if (index % 2 === 1) {
|
|
965
944
|
var ldtBefore = this._ldtUntils.get(Math.max(index - 1, 0));
|
|
966
|
-
|
|
967
945
|
var ldtAfter = this._ldtUntils.get(Math.min(index, this._ldtUntils.size - 1));
|
|
968
|
-
|
|
969
946
|
var offsetBefore = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));
|
|
970
947
|
var offsetAfter = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(Math.min(offsetIndex + 1, this._tzdbInfo.offsets.length - 1)));
|
|
971
|
-
|
|
972
948
|
if (offsetBefore.compareTo(offsetAfter) > 0) {
|
|
973
949
|
return core.ZoneOffsetTransition.of(ldtBefore, offsetBefore, offsetAfter);
|
|
974
950
|
} else {
|
|
975
951
|
return core.ZoneOffsetTransition.of(ldtAfter, offsetBefore, offsetAfter);
|
|
976
952
|
}
|
|
977
953
|
}
|
|
978
|
-
|
|
979
954
|
return core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));
|
|
980
955
|
};
|
|
981
|
-
|
|
982
956
|
_proto._offsetByIndexInSeconds = function _offsetByIndexInSeconds(index) {
|
|
983
957
|
return -offsetInSeconds(this._tzdbInfo.offsets[index]);
|
|
984
958
|
};
|
|
985
|
-
|
|
986
959
|
_proto.validOffsets = function validOffsets(localDateTime) {
|
|
987
960
|
var info = this._offsetInfo(localDateTime);
|
|
988
|
-
|
|
989
961
|
if (info instanceof core.ZoneOffsetTransition) {
|
|
990
962
|
return info.validOffsets();
|
|
991
963
|
}
|
|
992
|
-
|
|
993
964
|
return [info];
|
|
994
965
|
};
|
|
995
|
-
|
|
996
966
|
_proto.transition = function transition(localDateTime) {
|
|
997
967
|
var info = this._offsetInfo(localDateTime);
|
|
998
|
-
|
|
999
968
|
if (info instanceof core.ZoneOffsetTransition) {
|
|
1000
969
|
return info;
|
|
1001
970
|
}
|
|
1002
|
-
|
|
1003
971
|
return null;
|
|
1004
972
|
};
|
|
1005
|
-
|
|
1006
973
|
_proto.standardOffset = function standardOffset(instant) {
|
|
1007
974
|
notSupported('ZoneRules.standardOffset');
|
|
1008
975
|
};
|
|
1009
|
-
|
|
1010
976
|
_proto.daylightSavings = function daylightSavings(instant) {
|
|
1011
977
|
notSupported('ZoneRules.daylightSavings');
|
|
1012
978
|
};
|
|
1013
|
-
|
|
1014
979
|
_proto.isDaylightSavings = function isDaylightSavings(instant) {
|
|
1015
980
|
notSupported('ZoneRules.isDaylightSavings');
|
|
1016
981
|
};
|
|
1017
|
-
|
|
1018
982
|
_proto.isValidOffset = function isValidOffset(localDateTime, offset) {
|
|
1019
983
|
return this.validOffsets(localDateTime).some(function (o) {
|
|
1020
984
|
return o.equals(offset);
|
|
1021
985
|
});
|
|
1022
986
|
};
|
|
1023
|
-
|
|
1024
987
|
_proto.nextTransition = function nextTransition(instant) {
|
|
1025
988
|
notSupported('ZoneRules.nextTransition');
|
|
1026
989
|
};
|
|
1027
|
-
|
|
1028
990
|
_proto.previousTransition = function previousTransition(instant) {
|
|
1029
991
|
notSupported('ZoneRules.previousTransition');
|
|
1030
992
|
};
|
|
1031
|
-
|
|
1032
993
|
_proto.transitions = function transitions() {
|
|
1033
994
|
notSupported('ZoneRules.transitions');
|
|
1034
995
|
};
|
|
1035
|
-
|
|
1036
996
|
_proto.transitionRules = function transitionRules() {
|
|
1037
997
|
notSupported('ZoneRules.transitionRules');
|
|
1038
998
|
};
|
|
1039
|
-
|
|
1040
999
|
_proto.equals = function equals(other) {
|
|
1041
1000
|
if (this === other) {
|
|
1042
1001
|
return true;
|
|
1043
1002
|
}
|
|
1044
|
-
|
|
1045
1003
|
if (other instanceof MomentZoneRules) {
|
|
1046
1004
|
return this._tzdbInfo === other._tzdbInfo;
|
|
1047
1005
|
}
|
|
1048
|
-
|
|
1049
1006
|
return false;
|
|
1050
1007
|
};
|
|
1051
|
-
|
|
1052
1008
|
_proto.toString = function toString() {
|
|
1053
1009
|
return this._tzdbInfo.name;
|
|
1054
1010
|
};
|
|
1055
|
-
|
|
1056
1011
|
return MomentZoneRules;
|
|
1057
1012
|
}(core.ZoneRules);
|
|
1058
|
-
|
|
1059
1013
|
var LDTUntils = function () {
|
|
1060
1014
|
function LDTUntils(_tzdbUntils, tzdbOffsets) {
|
|
1061
1015
|
this._tzdbUntils = _tzdbUntils;
|
|
@@ -1063,16 +1017,12 @@
|
|
|
1063
1017
|
this._ldtUntils = [];
|
|
1064
1018
|
this.size = this._tzdbUntils.length * 2;
|
|
1065
1019
|
}
|
|
1066
|
-
|
|
1067
1020
|
var _proto2 = LDTUntils.prototype;
|
|
1068
|
-
|
|
1069
1021
|
_proto2._generateTupple = function _generateTupple(index) {
|
|
1070
1022
|
var epochMillis = this._tzdbUntils[index];
|
|
1071
|
-
|
|
1072
1023
|
if (epochMillis === Infinity) {
|
|
1073
1024
|
return [core.LocalDateTime.MAX, core.LocalDateTime.MAX];
|
|
1074
1025
|
}
|
|
1075
|
-
|
|
1076
1026
|
var instant = core.Instant.ofEpochMilli(epochMillis);
|
|
1077
1027
|
var offset1 = offsetInSeconds(this._tzdbOffsets[index]);
|
|
1078
1028
|
var zone1 = core.ZoneOffset.ofTotalSeconds(-offset1);
|
|
@@ -1081,36 +1031,28 @@
|
|
|
1081
1031
|
var offset2 = offsetInSeconds(this._tzdbOffsets[nextIndex]);
|
|
1082
1032
|
var zone2 = core.ZoneOffset.ofTotalSeconds(-offset2);
|
|
1083
1033
|
var ldt2 = core.LocalDateTime.ofInstant(instant, zone2);
|
|
1084
|
-
|
|
1085
1034
|
if (offset1 > offset2) {
|
|
1086
1035
|
return [ldt1, ldt2];
|
|
1087
1036
|
} else {
|
|
1088
1037
|
return [ldt2, ldt1];
|
|
1089
1038
|
}
|
|
1090
1039
|
};
|
|
1091
|
-
|
|
1092
1040
|
_proto2._getTupple = function _getTupple(index) {
|
|
1093
1041
|
if (this._ldtUntils[index] == null) {
|
|
1094
1042
|
this._ldtUntils[index] = this._generateTupple(index);
|
|
1095
1043
|
}
|
|
1096
|
-
|
|
1097
1044
|
return this._ldtUntils[index];
|
|
1098
1045
|
};
|
|
1099
|
-
|
|
1100
1046
|
_proto2.get = function get(index) {
|
|
1101
1047
|
var ldtTupple = this._getTupple(index >> 1);
|
|
1102
|
-
|
|
1103
1048
|
return ldtTupple[index % 2];
|
|
1104
1049
|
};
|
|
1105
|
-
|
|
1106
1050
|
return LDTUntils;
|
|
1107
1051
|
}();
|
|
1108
|
-
|
|
1109
1052
|
function ldtBinarySearch(array, value) {
|
|
1110
1053
|
var hi = array.size - 1,
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1054
|
+
lo = -1,
|
|
1055
|
+
mid;
|
|
1114
1056
|
while (hi - lo > 1) {
|
|
1115
1057
|
if (!value.isBefore(array.get(mid = hi + lo >> 1))) {
|
|
1116
1058
|
lo = mid;
|
|
@@ -1118,14 +1060,11 @@
|
|
|
1118
1060
|
hi = mid;
|
|
1119
1061
|
}
|
|
1120
1062
|
}
|
|
1121
|
-
|
|
1122
1063
|
return hi;
|
|
1123
1064
|
}
|
|
1124
|
-
|
|
1125
1065
|
function offsetInSeconds(tzdbOffset) {
|
|
1126
1066
|
return roundDown(+tzdbOffset * 60);
|
|
1127
1067
|
}
|
|
1128
|
-
|
|
1129
1068
|
function roundDown(r) {
|
|
1130
1069
|
if (r < 0) {
|
|
1131
1070
|
return Math.ceil(r);
|
|
@@ -1133,12 +1072,10 @@
|
|
|
1133
1072
|
return Math.floor(r);
|
|
1134
1073
|
}
|
|
1135
1074
|
}
|
|
1136
|
-
|
|
1137
1075
|
function binarySearch(array, value) {
|
|
1138
1076
|
var hi = array.length - 1,
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1077
|
+
lo = -1,
|
|
1078
|
+
mid;
|
|
1142
1079
|
while (hi - lo > 1) {
|
|
1143
1080
|
if (array[mid = hi + lo >> 1] <= value) {
|
|
1144
1081
|
lo = mid;
|
|
@@ -1146,10 +1083,8 @@
|
|
|
1146
1083
|
hi = mid;
|
|
1147
1084
|
}
|
|
1148
1085
|
}
|
|
1149
|
-
|
|
1150
1086
|
return hi;
|
|
1151
1087
|
}
|
|
1152
|
-
|
|
1153
1088
|
function notSupported(msg) {
|
|
1154
1089
|
throw new Error("not supported: " + msg);
|
|
1155
1090
|
}
|
|
@@ -1160,69 +1095,56 @@
|
|
|
1160
1095
|
} else if (charCode > 64) {
|
|
1161
1096
|
return charCode - 29;
|
|
1162
1097
|
}
|
|
1163
|
-
|
|
1164
1098
|
return charCode - 48;
|
|
1165
1099
|
}
|
|
1166
|
-
|
|
1167
1100
|
function unpackBase60(string) {
|
|
1168
1101
|
var i = 0,
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1102
|
+
parts = string.split('.'),
|
|
1103
|
+
whole = parts[0],
|
|
1104
|
+
fractional = parts[1] || '',
|
|
1105
|
+
multiplier = 1,
|
|
1106
|
+
num,
|
|
1107
|
+
out = 0,
|
|
1108
|
+
sign = 1;
|
|
1177
1109
|
if (string.charCodeAt(0) === 45) {
|
|
1178
1110
|
i = 1;
|
|
1179
1111
|
sign = -1;
|
|
1180
1112
|
}
|
|
1181
|
-
|
|
1182
1113
|
for (i; i < whole.length; i++) {
|
|
1183
1114
|
num = charCodeToInt(whole.charCodeAt(i));
|
|
1184
1115
|
out = 60 * out + num;
|
|
1185
1116
|
}
|
|
1186
|
-
|
|
1187
1117
|
for (i = 0; i < fractional.length; i++) {
|
|
1188
1118
|
multiplier = multiplier / 60;
|
|
1189
1119
|
num = charCodeToInt(fractional.charCodeAt(i));
|
|
1190
1120
|
out += num * multiplier;
|
|
1191
1121
|
}
|
|
1192
|
-
|
|
1193
1122
|
return out * sign;
|
|
1194
1123
|
}
|
|
1195
|
-
|
|
1196
1124
|
function arrayToInt(array) {
|
|
1197
1125
|
for (var i = 0; i < array.length; i++) {
|
|
1198
1126
|
array[i] = unpackBase60(array[i]);
|
|
1199
1127
|
}
|
|
1200
1128
|
}
|
|
1201
|
-
|
|
1202
1129
|
function intToUntil(array, length) {
|
|
1203
1130
|
for (var i = 0; i < length; i++) {
|
|
1204
1131
|
array[i] = Math.round((array[i - 1] || 0) + array[i] * 60000);
|
|
1205
1132
|
}
|
|
1206
|
-
|
|
1207
1133
|
array[length - 1] = Infinity;
|
|
1208
1134
|
}
|
|
1209
|
-
|
|
1210
1135
|
function mapIndices(source, indices) {
|
|
1211
1136
|
var out = [],
|
|
1212
|
-
|
|
1213
|
-
|
|
1137
|
+
i;
|
|
1214
1138
|
for (i = 0; i < indices.length; i++) {
|
|
1215
1139
|
out[i] = source[indices[i]];
|
|
1216
1140
|
}
|
|
1217
|
-
|
|
1218
1141
|
return out;
|
|
1219
1142
|
}
|
|
1220
|
-
|
|
1221
1143
|
function unpack(string) {
|
|
1222
1144
|
var data = string.split('|'),
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1145
|
+
offsets = data[2].split(' '),
|
|
1146
|
+
indices = data[3].split(''),
|
|
1147
|
+
untils = data[4].split(' ');
|
|
1226
1148
|
arrayToInt(offsets);
|
|
1227
1149
|
arrayToInt(indices);
|
|
1228
1150
|
arrayToInt(untils);
|
|
@@ -1243,37 +1165,28 @@
|
|
|
1243
1165
|
var links = {};
|
|
1244
1166
|
var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
|
|
1245
1167
|
_inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
|
|
1246
|
-
|
|
1247
1168
|
function MomentZoneRulesProvider() {
|
|
1248
1169
|
return _ZoneRulesProvider.apply(this, arguments) || this;
|
|
1249
1170
|
}
|
|
1250
|
-
|
|
1251
1171
|
MomentZoneRulesProvider.getRules = function getRules(zoneId) {
|
|
1252
1172
|
var tzdbZoneInfo = zones[links[zoneId]];
|
|
1253
|
-
|
|
1254
1173
|
if (tzdbZoneInfo == null) {
|
|
1255
1174
|
throw new core.DateTimeException("Unknown time-zone ID: " + zoneId);
|
|
1256
1175
|
}
|
|
1257
|
-
|
|
1258
1176
|
return new MomentZoneRules(tzdbZoneInfo);
|
|
1259
1177
|
};
|
|
1260
|
-
|
|
1261
1178
|
MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
|
|
1262
1179
|
return AVAILABLE_ZONE_IDS;
|
|
1263
1180
|
};
|
|
1264
|
-
|
|
1265
1181
|
MomentZoneRulesProvider.getVersion = function getVersion() {
|
|
1266
1182
|
return TZDB_VERSION;
|
|
1267
1183
|
};
|
|
1268
|
-
|
|
1269
1184
|
MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
|
|
1270
1185
|
return TZDB_DATA;
|
|
1271
1186
|
};
|
|
1272
|
-
|
|
1273
1187
|
MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
|
|
1274
1188
|
TZDB_DATA = packedJson;
|
|
1275
1189
|
TZDB_VERSION = packedJson.version;
|
|
1276
|
-
|
|
1277
1190
|
for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
|
|
1278
1191
|
var packedZoneInfo = _step.value;
|
|
1279
1192
|
var tzdbZoneInfo = unpack(packedZoneInfo);
|
|
@@ -1281,7 +1194,6 @@
|
|
|
1281
1194
|
zones[tzdbZoneInfo.name] = tzdbZoneInfo;
|
|
1282
1195
|
links[tzdbZoneInfo.name] = tzdbZoneInfo.name;
|
|
1283
1196
|
}
|
|
1284
|
-
|
|
1285
1197
|
for (var _iterator2 = _createForOfIteratorHelperLoose(packedJson.links), _step2; !(_step2 = _iterator2()).done;) {
|
|
1286
1198
|
var packedLink = _step2.value;
|
|
1287
1199
|
var link = packedLink.split('|');
|
|
@@ -1289,7 +1201,6 @@
|
|
|
1289
1201
|
links[link[1]] = link[0];
|
|
1290
1202
|
}
|
|
1291
1203
|
};
|
|
1292
|
-
|
|
1293
1204
|
return MomentZoneRulesProvider;
|
|
1294
1205
|
}(core.ZoneRulesProvider);
|
|
1295
1206
|
|
|
@@ -1298,17 +1209,13 @@
|
|
|
1298
1209
|
var resolvedTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
1299
1210
|
return ZoneId.of(resolvedTimeZone);
|
|
1300
1211
|
} catch (err) {}
|
|
1301
|
-
|
|
1302
1212
|
return null;
|
|
1303
1213
|
}
|
|
1304
|
-
|
|
1305
1214
|
function extendSystemDefaultZoneId(ZoneId) {
|
|
1306
1215
|
var resolvedZoneId = getResolvedZoneId(ZoneId);
|
|
1307
|
-
|
|
1308
1216
|
if (resolvedZoneId == null) {
|
|
1309
1217
|
return;
|
|
1310
1218
|
}
|
|
1311
|
-
|
|
1312
1219
|
ZoneId.systemDefault = function () {
|
|
1313
1220
|
return resolvedZoneId;
|
|
1314
1221
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-joda-timezone-1970-2030.js","sources":["../src/MomentZoneRules.js","../src/unpack.js","../src/MomentZoneRulesProvider.js","../src/system-default-zone.js","../src/plug.js","../src/auto-plug.js","../src/js-joda-timezone.js"],"sourcesContent":["/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport {\n LocalDateTime, Instant, ZoneOffset, ZoneOffsetTransition, ZoneRules\n} from '@js-joda/core';\n\nexport class MomentZoneRules extends ZoneRules{\n constructor(tzdbInfo){\n super();\n this._tzdbInfo = tzdbInfo;\n this._ldtUntils = new LDTUntils(this._tzdbInfo.untils, this._tzdbInfo.offsets);\n }\n /**\n * Checks of the zone rules are fixed, such that the offset never varies.\n *\n * @return {boolean} true if the time-zone is fixed and the offset never changes\n */\n isFixedOffset(){\n return this._tzdbInfo.offsets.length === 1;\n }\n\n //-----------------------------------------------------------------------\n\n /**\n * Gets the offset applicable at the specified instant in these rules.\n * <p>\n * The mapping from an instant to an offset is simple, there is only\n * one valid offset for each instant.\n * This method returns that offset.\n *\n * @param {Instant} instant - the instant to find the offset for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the offset, not null\n */\n offsetOfInstant(instant){\n const epochMilli = instant.toEpochMilli();\n return this.offsetOfEpochMilli(epochMilli);\n }\n\n /**\n * Gets the offset applicable at the specified epochMilli in these rules.\n *\n * The method is for javascript performance optimisation.\n *\n * @param {number} epochMilli - the epoch millisecond to find the offset for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the offset, not null\n */\n offsetOfEpochMilli(epochMilli){\n const index = binarySearch(this._tzdbInfo.untils, epochMilli);\n return ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));\n }\n\n\n /**\n * Gets a suitable offset for the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * Thus, for any given local date-time there can be zero, one or two valid offsets.\n * This method returns the single offset in the Normal case, and in the Gap or Overlap\n * case it returns the offset before the transition.\n * <p>\n * Since, in the case of Gap and Overlap, the offset returned is a \"best\" value, rather\n * than the \"correct\" value, it should be treated with care. Applications that care\n * about the correct offset should use a combination of this method,\n * {@link #getValidOffsets(LocalDateTime)} and {@link #getTransition(LocalDateTime)}.\n *\n * @param {LocalDateTime} localDateTime - the local date-time to query, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the best available offset for the local date-time, not null\n */\n offsetOfLocalDateTime(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info.offsetBefore();\n }\n return info;\n }\n\n _offsetInfo(localDateTime) {\n const index = ldtBinarySearch(this._ldtUntils, localDateTime);\n const offsetIndex = index >> 1;\n\n if (index % 2 === 1){\n const ldtBefore = this._ldtUntils.get(Math.max(index-1, 0));\n const ldtAfter = this._ldtUntils.get(Math.min(index, this._ldtUntils.size-1));\n const offsetBefore = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));\n const offsetAfter = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(Math.min(offsetIndex+1, this._tzdbInfo.offsets.length-1)));\n // console.log(offsetBefore.toString(), offsetAfter.toString());\n if (offsetBefore.compareTo(offsetAfter) > 0) {\n // gap\n // console.log('gap', ldtBefore.toString(), localDateTime.toString(), ldtAfter.toString());\n return ZoneOffsetTransition.of(ldtBefore, offsetBefore, offsetAfter);\n } else {\n // overlap\n // console.log('overlap', ldtBefore.toString(), localDateTime.toString(), ldtAfter.toString());\n return ZoneOffsetTransition.of(ldtAfter, offsetBefore, offsetAfter);\n }\n }\n return ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));\n }\n\n _offsetByIndexInSeconds(index){\n return -offsetInSeconds(this._tzdbInfo.offsets[index]);\n }\n\n /**\n * Gets the offset applicable at the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * Thus, for any given local date-time there can be zero, one or two valid offsets.\n * This method returns that list of valid offsets, which is a list of size 0, 1 or 2.\n * In the case where there are two offsets, the earlier offset is returned at index 0\n * and the later offset at index 1.\n * <p>\n * There are various ways to handle the conversion from a {@code LocalDateTime}.\n * One technique, using this method, would be:\n * <pre>\n * List<ZoneOffset> validOffsets = rules.getOffset(localDT);\n * if (validOffsets.size() == 1) {\n * // Normal case: only one valid offset\n * zoneOffset = validOffsets.get(0);\n * } else {\n * // Gap or Overlap: determine what to do from transition (which will be non-null)\n * ZoneOffsetTransition trans = rules.getTransition(localDT);\n * }\n * </pre>\n * <p>\n * In theory, it is possible for there to be more than two valid offsets.\n * This would happen if clocks to be put back more than once in quick succession.\n * This has never happened in the history of time-zones and thus has no special handling.\n * However, if it were to happen, then the list would return more than 2 entries.\n *\n * @param {LocalDateTime} localDateTime - the local date-time to query for valid offsets, not null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition | ZoneOffset[]} the list of valid offsets, may be immutable, not null\n */\n validOffsets(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info.validOffsets();\n }\n return [info];\n }\n\n /**\n * Gets the offset transition applicable at the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * A transition is used to model the cases of a Gap or Overlap.\n * The Normal case will return null.\n * <p>\n * There are various ways to handle the conversion from a {@code LocalDateTime}.\n * One technique, using this method, would be:\n * <pre>\n * ZoneOffsetTransition trans = rules.getTransition(localDT);\n * if (trans != null) {\n * // Gap or Overlap: determine what to do from transition\n * } else {\n * // Normal case: only one valid offset\n * zoneOffset = rule.getOffset(localDT);\n * }\n * </pre>\n *\n * @param {LocalDateTime} localDateTime the local date-time to query for offset transition, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the offset transition, null if the local date-time is not in transition\n */\n // eslint-disable-next-line no-unused-vars\n transition(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info;\n }\n return null;\n }\n\n //-----------------------------------------------------------------------\n /**\n * Gets the standard offset for the specified instant in this zone.\n * <p>\n * This provides access to historic information on how the standard offset\n * has changed over time.\n * The standard offset is the offset before any daylight saving time is applied.\n * This is typically the offset applicable during winter.\n *\n * @param {Instant} instant - the instant to find the offset information for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the standard offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n standardOffset(instant){\n notSupported('ZoneRules.standardOffset');\n }\n\n /**\n * Gets the amount of daylight savings in use for the specified instant in this zone.\n * <p>\n * This provides access to historic information on how the amount of daylight\n * savings has changed over time.\n * This is the difference between the standard offset and the actual offset.\n * Typically the amount is zero during winter and one hour during summer.\n * Time-zones are second-based, so the nanosecond part of the duration will be zero.\n *\n * @param {Instant} instant - the instant to find the daylight savings for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {Duration} the difference between the standard and actual offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n daylightSavings(instant){\n notSupported('ZoneRules.daylightSavings');\n }\n\n /**\n * Checks if the specified instant is in daylight savings.\n * <p>\n * This checks if the standard and actual offsets are the same at the specified instant.\n *\n * @param {Instant} instant - the instant to find the offset information for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {boolean} the standard offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n isDaylightSavings(instant) {\n notSupported('ZoneRules.isDaylightSavings');\n }\n\n /**\n * Checks if the offset date-time is valid for these rules.\n * <p>\n * To be valid, the local date-time must not be in a gap and the offset\n * must match the valid offsets.\n *\n * @param {LocalDateTime} localDateTime - the date-time to check, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @param {ZoneOffset} offset - the offset to check, null returns false\n * @return {boolean} true if the offset date-time is valid for these rules\n */\n isValidOffset(localDateTime, offset){\n return this.validOffsets(localDateTime).some( o => o.equals(offset));\n }\n\n //-----------------------------------------------------------------------\n /**\n * Gets the next transition after the specified instant.\n * <p>\n * This returns details of the next transition after the specified instant.\n * For example, if the instant represents a point where \"Summer\" daylight savings time\n * applies, then the method will return the transition to the next \"Winter\" time.\n *\n * @param {Instant} instant - the instant to get the next transition after, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the next transition after the specified instant, null if this is after the last transition\n */\n // eslint-disable-next-line no-unused-vars\n nextTransition(instant){\n notSupported('ZoneRules.nextTransition');\n }\n\n /**\n * Gets the previous transition before the specified instant.\n * <p>\n * This returns details of the previous transition after the specified instant.\n * For example, if the instant represents a point where \"summer\" daylight saving time\n * applies, then the method will return the transition from the previous \"winter\" time.\n *\n * @param {Instant} instant - the instant to get the previous transition after, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the previous transition after the specified instant, null if this is before the first transition\n */\n // eslint-disable-next-line no-unused-vars\n previousTransition(instant){\n notSupported('ZoneRules.previousTransition');\n }\n\n /**\n * Gets the complete list of fully defined transitions.\n * <p>\n * The complete set of transitions for this rules instance is defined by this method\n * and {@link #getTransitionRules()}. This method returns those transitions that have\n * been fully defined. These are typically historical, but may be in the future.\n * <p>\n * The list will be empty for fixed offset rules and for any time-zone where there has\n * only ever been a single offset. The list will also be empty if the transition rules are unknown.\n *\n * @return {ZoneOffsetTransition[]} an immutable list of fully defined transitions, not null\n */\n transitions(){\n notSupported('ZoneRules.transitions');\n }\n\n /**\n * Gets the list of transition rules for years beyond those defined in the transition list.\n * <p>\n * The complete set of transitions for this rules instance is defined by this method\n * and {@link #getTransitions()}. This method returns instances of {@link ZoneOffsetTransitionRule}\n * that define an algorithm for when transitions will occur.\n * <p>\n * For any given {@code ZoneRules}, this list contains the transition rules for years\n * beyond those years that have been fully defined. These rules typically refer to future\n * daylight saving time rule changes.\n * <p>\n * If the zone defines daylight savings into the future, then the list will normally\n * be of size two and hold information about entering and exiting daylight savings.\n * If the zone does not have daylight savings, or information about future changes\n * is uncertain, then the list will be empty.\n * <p>\n * The list will be empty for fixed offset rules and for any time-zone where there is no\n * daylight saving time. The list will also be empty if the transition rules are unknown.\n *\n * @return {ZoneOffsetTransitionRule[]} an immutable list of transition rules, not null\n */\n transitionRules(){\n notSupported('ZoneRules.transitionRules');\n }\n\n /**\n *\n * @param other\n * @returns {boolean}\n */\n equals(other) {\n if (this === other) {\n return true;\n }\n if (other instanceof MomentZoneRules) {\n return this._tzdbInfo === other._tzdbInfo;\n }\n return false;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this._tzdbInfo.name;\n }\n}\n\nclass LDTUntils {\n constructor(_tzdbUntils, tzdbOffsets) {\n this._tzdbUntils = _tzdbUntils;\n this._tzdbOffsets = tzdbOffsets;\n this._ldtUntils = [];\n this.size = this._tzdbUntils.length * 2;\n }\n\n\n _generateTupple(index) {\n const epochMillis = this._tzdbUntils[index];\n if (epochMillis === Infinity) {\n return [LocalDateTime.MAX, LocalDateTime.MAX];\n }\n const instant = Instant.ofEpochMilli(epochMillis);\n\n const offset1 = offsetInSeconds(this._tzdbOffsets[index]);\n const zone1 = ZoneOffset.ofTotalSeconds(-offset1);\n const ldt1 = LocalDateTime.ofInstant(instant, zone1);\n\n const nextIndex = Math.min(index + 1, this._tzdbOffsets.length - 1);\n const offset2 = offsetInSeconds(this._tzdbOffsets[nextIndex]);\n const zone2 = ZoneOffset.ofTotalSeconds(-offset2);\n const ldt2 = LocalDateTime.ofInstant(instant, zone2);\n\n if(offset1 > offset2) {\n return [ldt1, ldt2];\n } else {\n return [ldt2, ldt1];\n }\n }\n\n _getTupple(index){\n if (this._ldtUntils[index] == null) {\n this._ldtUntils[index] = this._generateTupple(index);\n }\n return this._ldtUntils[index];\n }\n\n get(index) {\n const ldtTupple = this._getTupple(index >> 1);\n return ldtTupple[index % 2];\n }\n}\n\n// modified bin-search, to always find existing indices for non-empty arrays\n// value in array at index is larger than input value (or last index of array)\nfunction ldtBinarySearch(array, value) {\n let hi = array.size - 1, lo = -1, mid;\n while (hi - lo > 1) {\n if (!value.isBefore(array.get(mid = hi + lo >> 1))) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return hi;\n}\n\nfunction offsetInSeconds(tzdbOffset){\n return roundDown(+tzdbOffset*60);\n}\n\nfunction roundDown(r){\n if (r < 0) {\n return Math.ceil(r);\n } else {\n return Math.floor(r);\n }\n}\n\n// modified bin-search, to always find existing indices for non-empty arrays\n// value in array at index is larger than input value (or last index of array)\nfunction binarySearch(array, value) {\n let hi = array.length - 1, lo = -1, mid;\n while (hi - lo > 1) {\n if (array[mid = hi + lo >> 1] <= value) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return hi;\n}\n\nfunction notSupported(msg){\n throw new Error(`not supported: ${msg}`);\n}\n","/* eslint-disable no-var */\n\n//! moment-timezone.js\n//! version : 0.5.2\n//! author : Tim Wood\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n/************************************\n Unpacking\n ************************************/\n\n/**\n * @private\n *\n * @param charCode\n * @returns {number}\n */\nfunction charCodeToInt(charCode) {\n if (charCode > 96) {\n return charCode - 87;\n } else if (charCode > 64) {\n return charCode - 29;\n }\n return charCode - 48;\n}\n\nfunction unpackBase60(string) {\n var i = 0,\n parts = string.split('.'),\n whole = parts[0],\n fractional = parts[1] || '',\n multiplier = 1,\n num,\n out = 0,\n sign = 1;\n\n // handle negative numbers\n if (string.charCodeAt(0) === 45) {\n i = 1;\n sign = -1;\n }\n\n // handle digits before the decimal\n for (i; i < whole.length; i++) {\n num = charCodeToInt(whole.charCodeAt(i));\n out = 60 * out + num;\n }\n\n // handle digits after the decimal\n for (i = 0; i < fractional.length; i++) {\n multiplier = multiplier / 60;\n num = charCodeToInt(fractional.charCodeAt(i));\n out += num * multiplier;\n }\n\n return out * sign;\n}\n\nfunction arrayToInt (array) {\n for (var i = 0; i < array.length; i++) {\n array[i] = unpackBase60(array[i]);\n }\n}\n\nfunction intToUntil (array, length) {\n for (var i = 0; i < length; i++) {\n array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n }\n\n array[length - 1] = Infinity;\n}\n\nfunction mapIndices (source, indices) {\n var out = [], i;\n\n for (i = 0; i < indices.length; i++) {\n out[i] = source[indices[i]];\n }\n\n return out;\n}\n\n/**\n * @private\n *\n * @param string\n * @returns {{offsets: *[], abbrs: *[], name, untils: *, population: number}}\n */\nexport function unpack (string) {\n var data = string.split('|'),\n offsets = data[2].split(' '),\n indices = data[3].split(''),\n untils = data[4].split(' ');\n\n arrayToInt(offsets);\n arrayToInt(indices);\n arrayToInt(untils);\n\n intToUntil(untils, indices.length);\n\n return {\n name : data[0],\n abbrs : mapIndices(data[1].split(' '), indices),\n offsets : mapIndices(offsets, indices),\n untils : untils,\n population : data[5] | 0\n };\n}\n\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport {\n DateTimeException,\n ZoneRulesProvider,\n} from '@js-joda/core';\n\nimport { MomentZoneRules } from './MomentZoneRules';\n\nimport { unpack } from './unpack';\n\nlet TZDB_DATA;\nlet TZDB_VERSION;\nconst AVAILABLE_ZONE_IDS = [];\n\nconst zones = {};\nconst links = {};\n\nexport class MomentZoneRulesProvider extends ZoneRulesProvider {\n /**\n * Gets the rules for the zone ID.\n * <p>\n * This returns the latest available rules for the zone ID.\n * <p>\n * This method relies on time-zone data provider files that are configured.\n *\n * @param {string} zoneId\n * @return {ZoneRules}\n */\n static getRules(zoneId){\n const tzdbZoneInfo = zones[links[zoneId]];\n if(tzdbZoneInfo == null){\n throw new DateTimeException(`Unknown time-zone ID: ${zoneId}`);\n }\n return new MomentZoneRules(tzdbZoneInfo);\n }\n\n\n /**\n * Gets the set of available zone IDs.\n * <p>\n * These zone IDs are loaded and available for use by {@code ZoneId}.\n *\n * @return {string[]} a modifiable copy of the set of zone IDs, not null\n */\n static getAvailableZoneIds(){\n return AVAILABLE_ZONE_IDS;\n }\n\n /**\n *\n * @return {string} the tzdb version.\n */\n static getVersion() {\n return TZDB_VERSION;\n }\n\n /**\n * Provides the packed tzdb data,\n * the data has the same format as provided from moment-timezone.\n *\n * @return {object} the packed tzdb data.\n */\n static getTzdbData(){\n return TZDB_DATA;\n }\n\n /**\n * Sets the packed tzdb data.\n * Accepts tzdb data in the same format as provided from moment-timezone.\n *\n * @param packedJson\n */\n static loadTzdbData(packedJson){\n TZDB_DATA = packedJson;\n TZDB_VERSION = packedJson.version;\n\n for (const packedZoneInfo of packedJson.zones) {\n const tzdbZoneInfo = unpack(packedZoneInfo);\n AVAILABLE_ZONE_IDS.push(tzdbZoneInfo.name);\n zones[tzdbZoneInfo.name] = tzdbZoneInfo;\n links[tzdbZoneInfo.name] = tzdbZoneInfo.name;\n }\n\n for (const packedLink of packedJson.links) {\n const link = packedLink.split('|');\n AVAILABLE_ZONE_IDS.push(link[1]);\n links[link[1]] = link[0];\n }\n }\n}\n","/**\n * @private\n *\n * @param ZoneId\n * @returns {null|*}\n */\nfunction getResolvedZoneId(ZoneId) {\n try {\n const resolvedTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return ZoneId.of(resolvedTimeZone);\n } catch (err) {\n // ignore\n }\n return null;\n}\n\n/**\n * @private\n *\n * @param ZoneId\n */\nexport default function extendSystemDefaultZoneId(ZoneId) {\n const resolvedZoneId = getResolvedZoneId(ZoneId);\n\n if (resolvedZoneId == null) {\n return;\n }\n\n ZoneId.systemDefault = function () {\n return resolvedZoneId;\n };\n}\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport { MomentZoneRulesProvider } from './MomentZoneRulesProvider';\nimport extendSystemDefaultZoneId from './system-default-zone';\n\n/**\n * @private\n */\nexport default function (jsJoda) {\n jsJoda.ZoneRulesProvider.getRules = MomentZoneRulesProvider.getRules;\n jsJoda.ZoneRulesProvider.getAvailableZoneIds = MomentZoneRulesProvider.getAvailableZoneIds;\n jsJoda.ZoneRulesProvider.getTzdbData = MomentZoneRulesProvider.getTzdbData;\n jsJoda.ZoneRulesProvider.loadTzdbData = MomentZoneRulesProvider.loadTzdbData;\n\n extendSystemDefaultZoneId(jsJoda.ZoneId);\n return jsJoda;\n}\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport { use } from '@js-joda/core';\n\nimport plug from './plug';\n\n/**\n * @private\n */\nexport default function autoPlug() {\n use(plug);\n}\n\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport latest from './tzdbData';\n\nimport { MomentZoneRulesProvider } from './MomentZoneRulesProvider';\nimport autoPlug from './auto-plug';\n\nMomentZoneRulesProvider.loadTzdbData(latest);\n\nautoPlug();\n"],"names":["MomentZoneRules","tzdbInfo","_tzdbInfo","_ldtUntils","LDTUntils","untils","offsets","isFixedOffset","length","offsetOfInstant","instant","epochMilli","toEpochMilli","offsetOfEpochMilli","index","binarySearch","ZoneOffset","ofTotalSeconds","_offsetByIndexInSeconds","offsetOfLocalDateTime","localDateTime","info","_offsetInfo","ZoneOffsetTransition","offsetBefore","ldtBinarySearch","offsetIndex","ldtBefore","get","Math","max","ldtAfter","min","size","offsetAfter","compareTo","of","offsetInSeconds","validOffsets","transition","standardOffset","notSupported","daylightSavings","isDaylightSavings","isValidOffset","offset","some","o","equals","nextTransition","previousTransition","transitions","transitionRules","other","toString","name","ZoneRules","_tzdbUntils","tzdbOffsets","_tzdbOffsets","_generateTupple","epochMillis","Infinity","LocalDateTime","MAX","Instant","ofEpochMilli","offset1","zone1","ldt1","ofInstant","nextIndex","offset2","zone2","ldt2","_getTupple","ldtTupple","array","value","hi","lo","mid","isBefore","tzdbOffset","roundDown","r","ceil","floor","msg","Error","charCodeToInt","charCode","unpackBase60","string","i","parts","split","whole","fractional","multiplier","num","out","sign","charCodeAt","arrayToInt","intToUntil","round","mapIndices","source","indices","unpack","data","abbrs","population","TZDB_DATA","TZDB_VERSION","AVAILABLE_ZONE_IDS","zones","links","MomentZoneRulesProvider","getRules","zoneId","tzdbZoneInfo","DateTimeException","getAvailableZoneIds","getVersion","getTzdbData","loadTzdbData","packedJson","version","packedZoneInfo","push","packedLink","link","ZoneRulesProvider","getResolvedZoneId","ZoneId","resolvedTimeZone","Intl","DateTimeFormat","resolvedOptions","timeZone","err","extendSystemDefaultZoneId","resolvedZoneId","systemDefault","jsJoda","autoPlug","use","plug","latest"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"js-joda-timezone-1970-2030.js","sources":["../src/MomentZoneRules.js","../src/unpack.js","../src/MomentZoneRulesProvider.js","../src/system-default-zone.js","../src/plug.js","../src/auto-plug.js","../src/js-joda-timezone.js"],"sourcesContent":["/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport {\n LocalDateTime, Instant, ZoneOffset, ZoneOffsetTransition, ZoneRules\n} from '@js-joda/core';\n\nexport class MomentZoneRules extends ZoneRules{\n constructor(tzdbInfo){\n super();\n this._tzdbInfo = tzdbInfo;\n this._ldtUntils = new LDTUntils(this._tzdbInfo.untils, this._tzdbInfo.offsets);\n }\n /**\n * Checks of the zone rules are fixed, such that the offset never varies.\n *\n * @return {boolean} true if the time-zone is fixed and the offset never changes\n */\n isFixedOffset(){\n return this._tzdbInfo.offsets.length === 1;\n }\n\n //-----------------------------------------------------------------------\n\n /**\n * Gets the offset applicable at the specified instant in these rules.\n * <p>\n * The mapping from an instant to an offset is simple, there is only\n * one valid offset for each instant.\n * This method returns that offset.\n *\n * @param {Instant} instant - the instant to find the offset for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the offset, not null\n */\n offsetOfInstant(instant){\n const epochMilli = instant.toEpochMilli();\n return this.offsetOfEpochMilli(epochMilli);\n }\n\n /**\n * Gets the offset applicable at the specified epochMilli in these rules.\n *\n * The method is for javascript performance optimisation.\n *\n * @param {number} epochMilli - the epoch millisecond to find the offset for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the offset, not null\n */\n offsetOfEpochMilli(epochMilli){\n const index = binarySearch(this._tzdbInfo.untils, epochMilli);\n return ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));\n }\n\n\n /**\n * Gets a suitable offset for the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * Thus, for any given local date-time there can be zero, one or two valid offsets.\n * This method returns the single offset in the Normal case, and in the Gap or Overlap\n * case it returns the offset before the transition.\n * <p>\n * Since, in the case of Gap and Overlap, the offset returned is a \"best\" value, rather\n * than the \"correct\" value, it should be treated with care. Applications that care\n * about the correct offset should use a combination of this method,\n * {@link #getValidOffsets(LocalDateTime)} and {@link #getTransition(LocalDateTime)}.\n *\n * @param {LocalDateTime} localDateTime - the local date-time to query, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the best available offset for the local date-time, not null\n */\n offsetOfLocalDateTime(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info.offsetBefore();\n }\n return info;\n }\n\n _offsetInfo(localDateTime) {\n const index = ldtBinarySearch(this._ldtUntils, localDateTime);\n const offsetIndex = index >> 1;\n\n if (index % 2 === 1){\n const ldtBefore = this._ldtUntils.get(Math.max(index-1, 0));\n const ldtAfter = this._ldtUntils.get(Math.min(index, this._ldtUntils.size-1));\n const offsetBefore = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));\n const offsetAfter = ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(Math.min(offsetIndex+1, this._tzdbInfo.offsets.length-1)));\n // console.log(offsetBefore.toString(), offsetAfter.toString());\n if (offsetBefore.compareTo(offsetAfter) > 0) {\n // gap\n // console.log('gap', ldtBefore.toString(), localDateTime.toString(), ldtAfter.toString());\n return ZoneOffsetTransition.of(ldtBefore, offsetBefore, offsetAfter);\n } else {\n // overlap\n // console.log('overlap', ldtBefore.toString(), localDateTime.toString(), ldtAfter.toString());\n return ZoneOffsetTransition.of(ldtAfter, offsetBefore, offsetAfter);\n }\n }\n return ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));\n }\n\n _offsetByIndexInSeconds(index){\n return -offsetInSeconds(this._tzdbInfo.offsets[index]);\n }\n\n /**\n * Gets the offset applicable at the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * Thus, for any given local date-time there can be zero, one or two valid offsets.\n * This method returns that list of valid offsets, which is a list of size 0, 1 or 2.\n * In the case where there are two offsets, the earlier offset is returned at index 0\n * and the later offset at index 1.\n * <p>\n * There are various ways to handle the conversion from a {@code LocalDateTime}.\n * One technique, using this method, would be:\n * <pre>\n * List<ZoneOffset> validOffsets = rules.getOffset(localDT);\n * if (validOffsets.size() == 1) {\n * // Normal case: only one valid offset\n * zoneOffset = validOffsets.get(0);\n * } else {\n * // Gap or Overlap: determine what to do from transition (which will be non-null)\n * ZoneOffsetTransition trans = rules.getTransition(localDT);\n * }\n * </pre>\n * <p>\n * In theory, it is possible for there to be more than two valid offsets.\n * This would happen if clocks to be put back more than once in quick succession.\n * This has never happened in the history of time-zones and thus has no special handling.\n * However, if it were to happen, then the list would return more than 2 entries.\n *\n * @param {LocalDateTime} localDateTime - the local date-time to query for valid offsets, not null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition | ZoneOffset[]} the list of valid offsets, may be immutable, not null\n */\n validOffsets(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info.validOffsets();\n }\n return [info];\n }\n\n /**\n * Gets the offset transition applicable at the specified local date-time in these rules.\n * <p>\n * The mapping from a local date-time to an offset is not straightforward.\n * There are three cases:\n * <p><ul>\n * <li>Normal, with one valid offset. For the vast majority of the year, the normal\n * case applies, where there is a single valid offset for the local date-time.</li>\n * <li>Gap, with zero valid offsets. This is when clocks jump forward typically\n * due to the spring daylight savings change from \"winter\" to \"summer\".\n * In a gap there are local date-time values with no valid offset.</li>\n * <li>Overlap, with two valid offsets. This is when clocks are set back typically\n * due to the autumn daylight savings change from \"summer\" to \"winter\".\n * In an overlap there are local date-time values with two valid offsets.</li>\n * </ul><p>\n * A transition is used to model the cases of a Gap or Overlap.\n * The Normal case will return null.\n * <p>\n * There are various ways to handle the conversion from a {@code LocalDateTime}.\n * One technique, using this method, would be:\n * <pre>\n * ZoneOffsetTransition trans = rules.getTransition(localDT);\n * if (trans != null) {\n * // Gap or Overlap: determine what to do from transition\n * } else {\n * // Normal case: only one valid offset\n * zoneOffset = rule.getOffset(localDT);\n * }\n * </pre>\n *\n * @param {LocalDateTime} localDateTime the local date-time to query for offset transition, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the offset transition, null if the local date-time is not in transition\n */\n // eslint-disable-next-line no-unused-vars\n transition(localDateTime){\n const info = this._offsetInfo(localDateTime);\n if (info instanceof ZoneOffsetTransition) {\n return info;\n }\n return null;\n }\n\n //-----------------------------------------------------------------------\n /**\n * Gets the standard offset for the specified instant in this zone.\n * <p>\n * This provides access to historic information on how the standard offset\n * has changed over time.\n * The standard offset is the offset before any daylight saving time is applied.\n * This is typically the offset applicable during winter.\n *\n * @param {Instant} instant - the instant to find the offset information for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffset} the standard offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n standardOffset(instant){\n notSupported('ZoneRules.standardOffset');\n }\n\n /**\n * Gets the amount of daylight savings in use for the specified instant in this zone.\n * <p>\n * This provides access to historic information on how the amount of daylight\n * savings has changed over time.\n * This is the difference between the standard offset and the actual offset.\n * Typically the amount is zero during winter and one hour during summer.\n * Time-zones are second-based, so the nanosecond part of the duration will be zero.\n *\n * @param {Instant} instant - the instant to find the daylight savings for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {Duration} the difference between the standard and actual offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n daylightSavings(instant){\n notSupported('ZoneRules.daylightSavings');\n }\n\n /**\n * Checks if the specified instant is in daylight savings.\n * <p>\n * This checks if the standard and actual offsets are the same at the specified instant.\n *\n * @param {Instant} instant - the instant to find the offset information for, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {boolean} the standard offset, not null\n */\n // eslint-disable-next-line no-unused-vars\n isDaylightSavings(instant) {\n notSupported('ZoneRules.isDaylightSavings');\n }\n\n /**\n * Checks if the offset date-time is valid for these rules.\n * <p>\n * To be valid, the local date-time must not be in a gap and the offset\n * must match the valid offsets.\n *\n * @param {LocalDateTime} localDateTime - the date-time to check, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @param {ZoneOffset} offset - the offset to check, null returns false\n * @return {boolean} true if the offset date-time is valid for these rules\n */\n isValidOffset(localDateTime, offset){\n return this.validOffsets(localDateTime).some( o => o.equals(offset));\n }\n\n //-----------------------------------------------------------------------\n /**\n * Gets the next transition after the specified instant.\n * <p>\n * This returns details of the next transition after the specified instant.\n * For example, if the instant represents a point where \"Summer\" daylight savings time\n * applies, then the method will return the transition to the next \"Winter\" time.\n *\n * @param {Instant} instant - the instant to get the next transition after, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the next transition after the specified instant, null if this is after the last transition\n */\n // eslint-disable-next-line no-unused-vars\n nextTransition(instant){\n notSupported('ZoneRules.nextTransition');\n }\n\n /**\n * Gets the previous transition before the specified instant.\n * <p>\n * This returns details of the previous transition after the specified instant.\n * For example, if the instant represents a point where \"summer\" daylight saving time\n * applies, then the method will return the transition from the previous \"winter\" time.\n *\n * @param {Instant} instant - the instant to get the previous transition after, not null, but null\n * may be ignored if the rules have a single offset for all instants\n * @return {ZoneOffsetTransition} the previous transition after the specified instant, null if this is before the first transition\n */\n // eslint-disable-next-line no-unused-vars\n previousTransition(instant){\n notSupported('ZoneRules.previousTransition');\n }\n\n /**\n * Gets the complete list of fully defined transitions.\n * <p>\n * The complete set of transitions for this rules instance is defined by this method\n * and {@link #getTransitionRules()}. This method returns those transitions that have\n * been fully defined. These are typically historical, but may be in the future.\n * <p>\n * The list will be empty for fixed offset rules and for any time-zone where there has\n * only ever been a single offset. The list will also be empty if the transition rules are unknown.\n *\n * @return {ZoneOffsetTransition[]} an immutable list of fully defined transitions, not null\n */\n transitions(){\n notSupported('ZoneRules.transitions');\n }\n\n /**\n * Gets the list of transition rules for years beyond those defined in the transition list.\n * <p>\n * The complete set of transitions for this rules instance is defined by this method\n * and {@link #getTransitions()}. This method returns instances of {@link ZoneOffsetTransitionRule}\n * that define an algorithm for when transitions will occur.\n * <p>\n * For any given {@code ZoneRules}, this list contains the transition rules for years\n * beyond those years that have been fully defined. These rules typically refer to future\n * daylight saving time rule changes.\n * <p>\n * If the zone defines daylight savings into the future, then the list will normally\n * be of size two and hold information about entering and exiting daylight savings.\n * If the zone does not have daylight savings, or information about future changes\n * is uncertain, then the list will be empty.\n * <p>\n * The list will be empty for fixed offset rules and for any time-zone where there is no\n * daylight saving time. The list will also be empty if the transition rules are unknown.\n *\n * @return {ZoneOffsetTransitionRule[]} an immutable list of transition rules, not null\n */\n transitionRules(){\n notSupported('ZoneRules.transitionRules');\n }\n\n /**\n *\n * @param other\n * @returns {boolean}\n */\n equals(other) {\n if (this === other) {\n return true;\n }\n if (other instanceof MomentZoneRules) {\n return this._tzdbInfo === other._tzdbInfo;\n }\n return false;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this._tzdbInfo.name;\n }\n}\n\nclass LDTUntils {\n constructor(_tzdbUntils, tzdbOffsets) {\n this._tzdbUntils = _tzdbUntils;\n this._tzdbOffsets = tzdbOffsets;\n this._ldtUntils = [];\n this.size = this._tzdbUntils.length * 2;\n }\n\n\n _generateTupple(index) {\n const epochMillis = this._tzdbUntils[index];\n if (epochMillis === Infinity) {\n return [LocalDateTime.MAX, LocalDateTime.MAX];\n }\n const instant = Instant.ofEpochMilli(epochMillis);\n\n const offset1 = offsetInSeconds(this._tzdbOffsets[index]);\n const zone1 = ZoneOffset.ofTotalSeconds(-offset1);\n const ldt1 = LocalDateTime.ofInstant(instant, zone1);\n\n const nextIndex = Math.min(index + 1, this._tzdbOffsets.length - 1);\n const offset2 = offsetInSeconds(this._tzdbOffsets[nextIndex]);\n const zone2 = ZoneOffset.ofTotalSeconds(-offset2);\n const ldt2 = LocalDateTime.ofInstant(instant, zone2);\n\n if(offset1 > offset2) {\n return [ldt1, ldt2];\n } else {\n return [ldt2, ldt1];\n }\n }\n\n _getTupple(index){\n if (this._ldtUntils[index] == null) {\n this._ldtUntils[index] = this._generateTupple(index);\n }\n return this._ldtUntils[index];\n }\n\n get(index) {\n const ldtTupple = this._getTupple(index >> 1);\n return ldtTupple[index % 2];\n }\n}\n\n// modified bin-search, to always find existing indices for non-empty arrays\n// value in array at index is larger than input value (or last index of array)\nfunction ldtBinarySearch(array, value) {\n let hi = array.size - 1, lo = -1, mid;\n while (hi - lo > 1) {\n if (!value.isBefore(array.get(mid = hi + lo >> 1))) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return hi;\n}\n\nfunction offsetInSeconds(tzdbOffset){\n return roundDown(+tzdbOffset*60);\n}\n\nfunction roundDown(r){\n if (r < 0) {\n return Math.ceil(r);\n } else {\n return Math.floor(r);\n }\n}\n\n// modified bin-search, to always find existing indices for non-empty arrays\n// value in array at index is larger than input value (or last index of array)\nfunction binarySearch(array, value) {\n let hi = array.length - 1, lo = -1, mid;\n while (hi - lo > 1) {\n if (array[mid = hi + lo >> 1] <= value) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return hi;\n}\n\nfunction notSupported(msg){\n throw new Error(`not supported: ${msg}`);\n}\n","/* eslint-disable no-var */\n\n//! moment-timezone.js\n//! version : 0.5.2\n//! author : Tim Wood\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n/************************************\n Unpacking\n ************************************/\n\n/**\n * @private\n *\n * @param charCode\n * @returns {number}\n */\nfunction charCodeToInt(charCode) {\n if (charCode > 96) {\n return charCode - 87;\n } else if (charCode > 64) {\n return charCode - 29;\n }\n return charCode - 48;\n}\n\nfunction unpackBase60(string) {\n var i = 0,\n parts = string.split('.'),\n whole = parts[0],\n fractional = parts[1] || '',\n multiplier = 1,\n num,\n out = 0,\n sign = 1;\n\n // handle negative numbers\n if (string.charCodeAt(0) === 45) {\n i = 1;\n sign = -1;\n }\n\n // handle digits before the decimal\n for (i; i < whole.length; i++) {\n num = charCodeToInt(whole.charCodeAt(i));\n out = 60 * out + num;\n }\n\n // handle digits after the decimal\n for (i = 0; i < fractional.length; i++) {\n multiplier = multiplier / 60;\n num = charCodeToInt(fractional.charCodeAt(i));\n out += num * multiplier;\n }\n\n return out * sign;\n}\n\nfunction arrayToInt (array) {\n for (var i = 0; i < array.length; i++) {\n array[i] = unpackBase60(array[i]);\n }\n}\n\nfunction intToUntil (array, length) {\n for (var i = 0; i < length; i++) {\n array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n }\n\n array[length - 1] = Infinity;\n}\n\nfunction mapIndices (source, indices) {\n var out = [], i;\n\n for (i = 0; i < indices.length; i++) {\n out[i] = source[indices[i]];\n }\n\n return out;\n}\n\n/**\n * @private\n *\n * @param string\n * @returns {{offsets: *[], abbrs: *[], name, untils: *, population: number}}\n */\nexport function unpack (string) {\n var data = string.split('|'),\n offsets = data[2].split(' '),\n indices = data[3].split(''),\n untils = data[4].split(' ');\n\n arrayToInt(offsets);\n arrayToInt(indices);\n arrayToInt(untils);\n\n intToUntil(untils, indices.length);\n\n return {\n name : data[0],\n abbrs : mapIndices(data[1].split(' '), indices),\n offsets : mapIndices(offsets, indices),\n untils : untils,\n population : data[5] | 0\n };\n}\n\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport {\n DateTimeException,\n ZoneRulesProvider,\n} from '@js-joda/core';\n\nimport { MomentZoneRules } from './MomentZoneRules';\n\nimport { unpack } from './unpack';\n\nlet TZDB_DATA;\nlet TZDB_VERSION;\nconst AVAILABLE_ZONE_IDS = [];\n\nconst zones = {};\nconst links = {};\n\nexport class MomentZoneRulesProvider extends ZoneRulesProvider {\n /**\n * Gets the rules for the zone ID.\n * <p>\n * This returns the latest available rules for the zone ID.\n * <p>\n * This method relies on time-zone data provider files that are configured.\n *\n * @param {string} zoneId\n * @return {ZoneRules}\n */\n static getRules(zoneId){\n const tzdbZoneInfo = zones[links[zoneId]];\n if(tzdbZoneInfo == null){\n throw new DateTimeException(`Unknown time-zone ID: ${zoneId}`);\n }\n return new MomentZoneRules(tzdbZoneInfo);\n }\n\n\n /**\n * Gets the set of available zone IDs.\n * <p>\n * These zone IDs are loaded and available for use by {@code ZoneId}.\n *\n * @return {string[]} a modifiable copy of the set of zone IDs, not null\n */\n static getAvailableZoneIds(){\n return AVAILABLE_ZONE_IDS;\n }\n\n /**\n *\n * @return {string} the tzdb version.\n */\n static getVersion() {\n return TZDB_VERSION;\n }\n\n /**\n * Provides the packed tzdb data,\n * the data has the same format as provided from moment-timezone.\n *\n * @return {object} the packed tzdb data.\n */\n static getTzdbData(){\n return TZDB_DATA;\n }\n\n /**\n * Sets the packed tzdb data.\n * Accepts tzdb data in the same format as provided from moment-timezone.\n *\n * @param packedJson\n */\n static loadTzdbData(packedJson){\n TZDB_DATA = packedJson;\n TZDB_VERSION = packedJson.version;\n\n for (const packedZoneInfo of packedJson.zones) {\n const tzdbZoneInfo = unpack(packedZoneInfo);\n AVAILABLE_ZONE_IDS.push(tzdbZoneInfo.name);\n zones[tzdbZoneInfo.name] = tzdbZoneInfo;\n links[tzdbZoneInfo.name] = tzdbZoneInfo.name;\n }\n\n for (const packedLink of packedJson.links) {\n const link = packedLink.split('|');\n AVAILABLE_ZONE_IDS.push(link[1]);\n links[link[1]] = link[0];\n }\n }\n}\n","/**\n * @private\n *\n * @param ZoneId\n * @returns {null|*}\n */\nfunction getResolvedZoneId(ZoneId) {\n try {\n const resolvedTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return ZoneId.of(resolvedTimeZone);\n } catch (err) {\n // ignore\n }\n return null;\n}\n\n/**\n * @private\n *\n * @param ZoneId\n */\nexport default function extendSystemDefaultZoneId(ZoneId) {\n const resolvedZoneId = getResolvedZoneId(ZoneId);\n\n if (resolvedZoneId == null) {\n return;\n }\n\n ZoneId.systemDefault = function () {\n return resolvedZoneId;\n };\n}\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport { MomentZoneRulesProvider } from './MomentZoneRulesProvider';\nimport extendSystemDefaultZoneId from './system-default-zone';\n\n/**\n * @private\n */\nexport default function (jsJoda) {\n jsJoda.ZoneRulesProvider.getRules = MomentZoneRulesProvider.getRules;\n jsJoda.ZoneRulesProvider.getAvailableZoneIds = MomentZoneRulesProvider.getAvailableZoneIds;\n jsJoda.ZoneRulesProvider.getTzdbData = MomentZoneRulesProvider.getTzdbData;\n jsJoda.ZoneRulesProvider.loadTzdbData = MomentZoneRulesProvider.loadTzdbData;\n\n extendSystemDefaultZoneId(jsJoda.ZoneId);\n return jsJoda;\n}\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport { use } from '@js-joda/core';\n\nimport plug from './plug';\n\n/**\n * @private\n */\nexport default function autoPlug() {\n use(plug);\n}\n\n","/*\n * @copyright (c) 2016-present, Philipp Thürwächter, Pattrick Hüper\n * @license BSD-3-Clause (see LICENSE in the root directory of this source tree)\n */\n\nimport latest from './tzdbData';\n\nimport { MomentZoneRulesProvider } from './MomentZoneRulesProvider';\nimport autoPlug from './auto-plug';\n\nMomentZoneRulesProvider.loadTzdbData(latest);\n\nautoPlug();\n"],"names":["MomentZoneRules","tzdbInfo","_tzdbInfo","_ldtUntils","LDTUntils","untils","offsets","isFixedOffset","length","offsetOfInstant","instant","epochMilli","toEpochMilli","offsetOfEpochMilli","index","binarySearch","ZoneOffset","ofTotalSeconds","_offsetByIndexInSeconds","offsetOfLocalDateTime","localDateTime","info","_offsetInfo","ZoneOffsetTransition","offsetBefore","ldtBinarySearch","offsetIndex","ldtBefore","get","Math","max","ldtAfter","min","size","offsetAfter","compareTo","of","offsetInSeconds","validOffsets","transition","standardOffset","notSupported","daylightSavings","isDaylightSavings","isValidOffset","offset","some","o","equals","nextTransition","previousTransition","transitions","transitionRules","other","toString","name","ZoneRules","_tzdbUntils","tzdbOffsets","_tzdbOffsets","_generateTupple","epochMillis","Infinity","LocalDateTime","MAX","Instant","ofEpochMilli","offset1","zone1","ldt1","ofInstant","nextIndex","offset2","zone2","ldt2","_getTupple","ldtTupple","array","value","hi","lo","mid","isBefore","tzdbOffset","roundDown","r","ceil","floor","msg","Error","charCodeToInt","charCode","unpackBase60","string","i","parts","split","whole","fractional","multiplier","num","out","sign","charCodeAt","arrayToInt","intToUntil","round","mapIndices","source","indices","unpack","data","abbrs","population","TZDB_DATA","TZDB_VERSION","AVAILABLE_ZONE_IDS","zones","links","MomentZoneRulesProvider","getRules","zoneId","tzdbZoneInfo","DateTimeException","getAvailableZoneIds","getVersion","getTzdbData","loadTzdbData","packedJson","version","packedZoneInfo","push","packedLink","link","ZoneRulesProvider","getResolvedZoneId","ZoneId","resolvedTimeZone","Intl","DateTimeFormat","resolvedOptions","timeZone","err","extendSystemDefaultZoneId","resolvedZoneId","systemDefault","jsJoda","autoPlug","use","plug","latest"],"mappings":"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"}
|