@js-joda/timezone 2.14.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.
Files changed (32) hide show
  1. package/bower.json +1 -1
  2. package/dist/js-joda-timezone-10-year-range.esm.js +20 -113
  3. package/dist/js-joda-timezone-10-year-range.esm.js.map +1 -1
  4. package/dist/js-joda-timezone-10-year-range.js +20 -113
  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-1970-2030.esm.js +20 -113
  8. package/dist/js-joda-timezone-1970-2030.esm.js.map +1 -1
  9. package/dist/js-joda-timezone-1970-2030.js +20 -113
  10. package/dist/js-joda-timezone-1970-2030.js.map +1 -1
  11. package/dist/js-joda-timezone-1970-2030.min.js +2 -2
  12. package/dist/js-joda-timezone-2012-2022.esm.js +20 -113
  13. package/dist/js-joda-timezone-2012-2022.esm.js.map +1 -1
  14. package/dist/js-joda-timezone-2012-2022.js +20 -113
  15. package/dist/js-joda-timezone-2012-2022.js.map +1 -1
  16. package/dist/js-joda-timezone-2012-2022.min.js +2 -2
  17. package/dist/js-joda-timezone-2017-2027.esm.js +20 -113
  18. package/dist/js-joda-timezone-2017-2027.esm.js.map +1 -1
  19. package/dist/js-joda-timezone-2017-2027.js +20 -113
  20. package/dist/js-joda-timezone-2017-2027.js.map +1 -1
  21. package/dist/js-joda-timezone-2017-2027.min.js +2 -2
  22. package/dist/js-joda-timezone-empty.esm.js +17 -110
  23. package/dist/js-joda-timezone-empty.esm.js.map +1 -1
  24. package/dist/js-joda-timezone-empty.js +17 -110
  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.esm.js +28 -121
  28. package/dist/js-joda-timezone.esm.js.map +1 -1
  29. package/dist/js-joda-timezone.js +28 -121
  30. package/dist/js-joda-timezone.js.map +1 -1
  31. package/dist/js-joda-timezone.min.js +2 -2
  32. package/package.json +6 -5
@@ -1,4 +1,4 @@
1
- //! @version @js-joda/timezone - 2.14.0
1
+ //! @version @js-joda/timezone - 2.15.1
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)
@@ -12,19 +12,15 @@
12
12
  function _inheritsLoose(subClass, superClass) {
13
13
  subClass.prototype = Object.create(superClass.prototype);
14
14
  subClass.prototype.constructor = subClass;
15
-
16
15
  _setPrototypeOf(subClass, superClass);
17
16
  }
18
-
19
17
  function _setPrototypeOf(o, p) {
20
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
18
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
21
19
  o.__proto__ = p;
22
20
  return o;
23
21
  };
24
-
25
22
  return _setPrototypeOf(o, p);
26
23
  }
27
-
28
24
  function _unsupportedIterableToArray(o, minLen) {
29
25
  if (!o) return;
30
26
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -33,19 +29,14 @@
33
29
  if (n === "Map" || n === "Set") return Array.from(o);
34
30
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
35
31
  }
36
-
37
32
  function _arrayLikeToArray(arr, len) {
38
33
  if (len == null || len > arr.length) len = arr.length;
39
-
40
34
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
41
-
42
35
  return arr2;
43
36
  }
44
-
45
37
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
46
38
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
47
39
  if (it) return (it = it.call(o)).next.bind(it);
48
-
49
40
  if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
50
41
  if (it) o = it;
51
42
  var i = 0;
@@ -59,147 +50,110 @@
59
50
  };
60
51
  };
61
52
  }
62
-
63
53
  throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
54
  }
65
55
 
66
56
  var MomentZoneRules = function (_ZoneRules) {
67
57
  _inheritsLoose(MomentZoneRules, _ZoneRules);
68
-
69
58
  function MomentZoneRules(tzdbInfo) {
70
59
  var _this;
71
-
72
60
  _this = _ZoneRules.call(this) || this;
73
61
  _this._tzdbInfo = tzdbInfo;
74
62
  _this._ldtUntils = new LDTUntils(_this._tzdbInfo.untils, _this._tzdbInfo.offsets);
75
63
  return _this;
76
64
  }
77
-
78
65
  var _proto = MomentZoneRules.prototype;
79
-
80
66
  _proto.isFixedOffset = function isFixedOffset() {
81
67
  return this._tzdbInfo.offsets.length === 1;
82
68
  };
83
-
84
69
  _proto.offsetOfInstant = function offsetOfInstant(instant) {
85
70
  var epochMilli = instant.toEpochMilli();
86
71
  return this.offsetOfEpochMilli(epochMilli);
87
72
  };
88
-
89
73
  _proto.offsetOfEpochMilli = function offsetOfEpochMilli(epochMilli) {
90
74
  var index = binarySearch(this._tzdbInfo.untils, epochMilli);
91
75
  return core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(index));
92
76
  };
93
-
94
77
  _proto.offsetOfLocalDateTime = function offsetOfLocalDateTime(localDateTime) {
95
78
  var info = this._offsetInfo(localDateTime);
96
-
97
79
  if (info instanceof core.ZoneOffsetTransition) {
98
80
  return info.offsetBefore();
99
81
  }
100
-
101
82
  return info;
102
83
  };
103
-
104
84
  _proto._offsetInfo = function _offsetInfo(localDateTime) {
105
85
  var index = ldtBinarySearch(this._ldtUntils, localDateTime);
106
86
  var offsetIndex = index >> 1;
107
-
108
87
  if (index % 2 === 1) {
109
88
  var ldtBefore = this._ldtUntils.get(Math.max(index - 1, 0));
110
-
111
89
  var ldtAfter = this._ldtUntils.get(Math.min(index, this._ldtUntils.size - 1));
112
-
113
90
  var offsetBefore = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));
114
91
  var offsetAfter = core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(Math.min(offsetIndex + 1, this._tzdbInfo.offsets.length - 1)));
115
-
116
92
  if (offsetBefore.compareTo(offsetAfter) > 0) {
117
93
  return core.ZoneOffsetTransition.of(ldtBefore, offsetBefore, offsetAfter);
118
94
  } else {
119
95
  return core.ZoneOffsetTransition.of(ldtAfter, offsetBefore, offsetAfter);
120
96
  }
121
97
  }
122
-
123
98
  return core.ZoneOffset.ofTotalSeconds(this._offsetByIndexInSeconds(offsetIndex));
124
99
  };
125
-
126
100
  _proto._offsetByIndexInSeconds = function _offsetByIndexInSeconds(index) {
127
101
  return -offsetInSeconds(this._tzdbInfo.offsets[index]);
128
102
  };
129
-
130
103
  _proto.validOffsets = function validOffsets(localDateTime) {
131
104
  var info = this._offsetInfo(localDateTime);
132
-
133
105
  if (info instanceof core.ZoneOffsetTransition) {
134
106
  return info.validOffsets();
135
107
  }
136
-
137
108
  return [info];
138
109
  };
139
-
140
110
  _proto.transition = function transition(localDateTime) {
141
111
  var info = this._offsetInfo(localDateTime);
142
-
143
112
  if (info instanceof core.ZoneOffsetTransition) {
144
113
  return info;
145
114
  }
146
-
147
115
  return null;
148
116
  };
149
-
150
117
  _proto.standardOffset = function standardOffset(instant) {
151
118
  notSupported('ZoneRules.standardOffset');
152
119
  };
153
-
154
120
  _proto.daylightSavings = function daylightSavings(instant) {
155
121
  notSupported('ZoneRules.daylightSavings');
156
122
  };
157
-
158
123
  _proto.isDaylightSavings = function isDaylightSavings(instant) {
159
124
  notSupported('ZoneRules.isDaylightSavings');
160
125
  };
161
-
162
126
  _proto.isValidOffset = function isValidOffset(localDateTime, offset) {
163
127
  return this.validOffsets(localDateTime).some(function (o) {
164
128
  return o.equals(offset);
165
129
  });
166
130
  };
167
-
168
131
  _proto.nextTransition = function nextTransition(instant) {
169
132
  notSupported('ZoneRules.nextTransition');
170
133
  };
171
-
172
134
  _proto.previousTransition = function previousTransition(instant) {
173
135
  notSupported('ZoneRules.previousTransition');
174
136
  };
175
-
176
137
  _proto.transitions = function transitions() {
177
138
  notSupported('ZoneRules.transitions');
178
139
  };
179
-
180
140
  _proto.transitionRules = function transitionRules() {
181
141
  notSupported('ZoneRules.transitionRules');
182
142
  };
183
-
184
143
  _proto.equals = function equals(other) {
185
144
  if (this === other) {
186
145
  return true;
187
146
  }
188
-
189
147
  if (other instanceof MomentZoneRules) {
190
148
  return this._tzdbInfo === other._tzdbInfo;
191
149
  }
192
-
193
150
  return false;
194
151
  };
195
-
196
152
  _proto.toString = function toString() {
197
153
  return this._tzdbInfo.name;
198
154
  };
199
-
200
155
  return MomentZoneRules;
201
156
  }(core.ZoneRules);
202
-
203
157
  var LDTUntils = function () {
204
158
  function LDTUntils(_tzdbUntils, tzdbOffsets) {
205
159
  this._tzdbUntils = _tzdbUntils;
@@ -207,16 +161,12 @@
207
161
  this._ldtUntils = [];
208
162
  this.size = this._tzdbUntils.length * 2;
209
163
  }
210
-
211
164
  var _proto2 = LDTUntils.prototype;
212
-
213
165
  _proto2._generateTupple = function _generateTupple(index) {
214
166
  var epochMillis = this._tzdbUntils[index];
215
-
216
167
  if (epochMillis === Infinity) {
217
168
  return [core.LocalDateTime.MAX, core.LocalDateTime.MAX];
218
169
  }
219
-
220
170
  var instant = core.Instant.ofEpochMilli(epochMillis);
221
171
  var offset1 = offsetInSeconds(this._tzdbOffsets[index]);
222
172
  var zone1 = core.ZoneOffset.ofTotalSeconds(-offset1);
@@ -225,36 +175,28 @@
225
175
  var offset2 = offsetInSeconds(this._tzdbOffsets[nextIndex]);
226
176
  var zone2 = core.ZoneOffset.ofTotalSeconds(-offset2);
227
177
  var ldt2 = core.LocalDateTime.ofInstant(instant, zone2);
228
-
229
178
  if (offset1 > offset2) {
230
179
  return [ldt1, ldt2];
231
180
  } else {
232
181
  return [ldt2, ldt1];
233
182
  }
234
183
  };
235
-
236
184
  _proto2._getTupple = function _getTupple(index) {
237
185
  if (this._ldtUntils[index] == null) {
238
186
  this._ldtUntils[index] = this._generateTupple(index);
239
187
  }
240
-
241
188
  return this._ldtUntils[index];
242
189
  };
243
-
244
190
  _proto2.get = function get(index) {
245
191
  var ldtTupple = this._getTupple(index >> 1);
246
-
247
192
  return ldtTupple[index % 2];
248
193
  };
249
-
250
194
  return LDTUntils;
251
195
  }();
252
-
253
196
  function ldtBinarySearch(array, value) {
254
197
  var hi = array.size - 1,
255
- lo = -1,
256
- mid;
257
-
198
+ lo = -1,
199
+ mid;
258
200
  while (hi - lo > 1) {
259
201
  if (!value.isBefore(array.get(mid = hi + lo >> 1))) {
260
202
  lo = mid;
@@ -262,14 +204,11 @@
262
204
  hi = mid;
263
205
  }
264
206
  }
265
-
266
207
  return hi;
267
208
  }
268
-
269
209
  function offsetInSeconds(tzdbOffset) {
270
210
  return roundDown(+tzdbOffset * 60);
271
211
  }
272
-
273
212
  function roundDown(r) {
274
213
  if (r < 0) {
275
214
  return Math.ceil(r);
@@ -277,12 +216,10 @@
277
216
  return Math.floor(r);
278
217
  }
279
218
  }
280
-
281
219
  function binarySearch(array, value) {
282
220
  var hi = array.length - 1,
283
- lo = -1,
284
- mid;
285
-
221
+ lo = -1,
222
+ mid;
286
223
  while (hi - lo > 1) {
287
224
  if (array[mid = hi + lo >> 1] <= value) {
288
225
  lo = mid;
@@ -290,10 +227,8 @@
290
227
  hi = mid;
291
228
  }
292
229
  }
293
-
294
230
  return hi;
295
231
  }
296
-
297
232
  function notSupported(msg) {
298
233
  throw new Error("not supported: " + msg);
299
234
  }
@@ -304,69 +239,56 @@
304
239
  } else if (charCode > 64) {
305
240
  return charCode - 29;
306
241
  }
307
-
308
242
  return charCode - 48;
309
243
  }
310
-
311
244
  function unpackBase60(string) {
312
245
  var i = 0,
313
- parts = string.split('.'),
314
- whole = parts[0],
315
- fractional = parts[1] || '',
316
- multiplier = 1,
317
- num,
318
- out = 0,
319
- sign = 1;
320
-
246
+ parts = string.split('.'),
247
+ whole = parts[0],
248
+ fractional = parts[1] || '',
249
+ multiplier = 1,
250
+ num,
251
+ out = 0,
252
+ sign = 1;
321
253
  if (string.charCodeAt(0) === 45) {
322
254
  i = 1;
323
255
  sign = -1;
324
256
  }
325
-
326
257
  for (i; i < whole.length; i++) {
327
258
  num = charCodeToInt(whole.charCodeAt(i));
328
259
  out = 60 * out + num;
329
260
  }
330
-
331
261
  for (i = 0; i < fractional.length; i++) {
332
262
  multiplier = multiplier / 60;
333
263
  num = charCodeToInt(fractional.charCodeAt(i));
334
264
  out += num * multiplier;
335
265
  }
336
-
337
266
  return out * sign;
338
267
  }
339
-
340
268
  function arrayToInt(array) {
341
269
  for (var i = 0; i < array.length; i++) {
342
270
  array[i] = unpackBase60(array[i]);
343
271
  }
344
272
  }
345
-
346
273
  function intToUntil(array, length) {
347
274
  for (var i = 0; i < length; i++) {
348
275
  array[i] = Math.round((array[i - 1] || 0) + array[i] * 60000);
349
276
  }
350
-
351
277
  array[length - 1] = Infinity;
352
278
  }
353
-
354
279
  function mapIndices(source, indices) {
355
280
  var out = [],
356
- i;
357
-
281
+ i;
358
282
  for (i = 0; i < indices.length; i++) {
359
283
  out[i] = source[indices[i]];
360
284
  }
361
-
362
285
  return out;
363
286
  }
364
-
365
287
  function unpack(string) {
366
288
  var data = string.split('|'),
367
- offsets = data[2].split(' '),
368
- indices = data[3].split(''),
369
- untils = data[4].split(' ');
289
+ offsets = data[2].split(' '),
290
+ indices = data[3].split(''),
291
+ untils = data[4].split(' ');
370
292
  arrayToInt(offsets);
371
293
  arrayToInt(indices);
372
294
  arrayToInt(untils);
@@ -387,37 +309,28 @@
387
309
  var links = {};
388
310
  var MomentZoneRulesProvider = function (_ZoneRulesProvider) {
389
311
  _inheritsLoose(MomentZoneRulesProvider, _ZoneRulesProvider);
390
-
391
312
  function MomentZoneRulesProvider() {
392
313
  return _ZoneRulesProvider.apply(this, arguments) || this;
393
314
  }
394
-
395
315
  MomentZoneRulesProvider.getRules = function getRules(zoneId) {
396
316
  var tzdbZoneInfo = zones[links[zoneId]];
397
-
398
317
  if (tzdbZoneInfo == null) {
399
318
  throw new core.DateTimeException("Unknown time-zone ID: " + zoneId);
400
319
  }
401
-
402
320
  return new MomentZoneRules(tzdbZoneInfo);
403
321
  };
404
-
405
322
  MomentZoneRulesProvider.getAvailableZoneIds = function getAvailableZoneIds() {
406
323
  return AVAILABLE_ZONE_IDS;
407
324
  };
408
-
409
325
  MomentZoneRulesProvider.getVersion = function getVersion() {
410
326
  return TZDB_VERSION;
411
327
  };
412
-
413
328
  MomentZoneRulesProvider.getTzdbData = function getTzdbData() {
414
329
  return TZDB_DATA;
415
330
  };
416
-
417
331
  MomentZoneRulesProvider.loadTzdbData = function loadTzdbData(packedJson) {
418
332
  TZDB_DATA = packedJson;
419
333
  TZDB_VERSION = packedJson.version;
420
-
421
334
  for (var _iterator = _createForOfIteratorHelperLoose(packedJson.zones), _step; !(_step = _iterator()).done;) {
422
335
  var packedZoneInfo = _step.value;
423
336
  var tzdbZoneInfo = unpack(packedZoneInfo);
@@ -425,7 +338,6 @@
425
338
  zones[tzdbZoneInfo.name] = tzdbZoneInfo;
426
339
  links[tzdbZoneInfo.name] = tzdbZoneInfo.name;
427
340
  }
428
-
429
341
  for (var _iterator2 = _createForOfIteratorHelperLoose(packedJson.links), _step2; !(_step2 = _iterator2()).done;) {
430
342
  var packedLink = _step2.value;
431
343
  var link = packedLink.split('|');
@@ -433,7 +345,6 @@
433
345
  links[link[1]] = link[0];
434
346
  }
435
347
  };
436
-
437
348
  return MomentZoneRulesProvider;
438
349
  }(core.ZoneRulesProvider);
439
350
 
@@ -442,17 +353,13 @@
442
353
  var resolvedTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
443
354
  return ZoneId.of(resolvedTimeZone);
444
355
  } catch (err) {}
445
-
446
356
  return null;
447
357
  }
448
-
449
358
  function extendSystemDefaultZoneId(ZoneId) {
450
359
  var resolvedZoneId = getResolvedZoneId(ZoneId);
451
-
452
360
  if (resolvedZoneId == null) {
453
361
  return;
454
362
  }
455
-
456
363
  ZoneId.systemDefault = function () {
457
364
  return resolvedZoneId;
458
365
  };
@@ -1 +1 @@
1
- {"version":3,"file":"js-joda-timezone-empty.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-empty.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 autoPlug from './auto-plug';\n\nautoPlug();"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"js-joda-timezone-empty.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-empty.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 autoPlug from './auto-plug';\n\nautoPlug();"],"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"],"mappings":"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"}