@formatjs/intl-datetimeformat 6.11.3 → 6.12.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 (38) hide show
  1. package/LICENSE.md +1 -1
  2. package/lib/index.js +1 -4
  3. package/lib/polyfill-force.js +10 -12
  4. package/lib/polyfill.js +12 -14
  5. package/lib/should-polyfill.js +4 -8
  6. package/lib/src/abstract/BasicFormatMatcher.js +26 -30
  7. package/lib/src/abstract/BestFitFormatMatcher.js +19 -24
  8. package/lib/src/abstract/DateTimeStyleFormat.js +5 -9
  9. package/lib/src/abstract/FormatDateTime.js +3 -7
  10. package/lib/src/abstract/FormatDateTimePattern.js +7 -11
  11. package/lib/src/abstract/FormatDateTimeRange.js +3 -7
  12. package/lib/src/abstract/FormatDateTimeRangeToParts.js +3 -7
  13. package/lib/src/abstract/FormatDateTimeToParts.js +5 -9
  14. package/lib/src/abstract/InitializeDateTimeFormat.d.ts +1 -1
  15. package/lib/src/abstract/InitializeDateTimeFormat.js +43 -43
  16. package/lib/src/abstract/PartitionDateTimePattern.js +5 -9
  17. package/lib/src/abstract/PartitionDateTimeRangePattern.js +16 -20
  18. package/lib/src/abstract/ToDateTimeOptions.js +3 -7
  19. package/lib/src/abstract/ToLocalTime.js +12 -16
  20. package/lib/src/abstract/skeleton.js +15 -22
  21. package/lib/src/abstract/utils.js +9 -12
  22. package/lib/src/core.d.ts +1 -1
  23. package/lib/src/core.js +106 -109
  24. package/lib/src/data/all-tz.js +1 -3
  25. package/lib/src/data/links.js +1 -3
  26. package/lib/src/get_internal_slots.js +1 -4
  27. package/lib/src/packer.js +5 -10
  28. package/lib/src/to_locale_string.js +8 -14
  29. package/lib/src/types.js +1 -2
  30. package/lib/supported-locales.generated.js +1 -4
  31. package/lib/test262-main.js +3 -6
  32. package/package.json +4 -4
  33. package/polyfill.iife.js +6340 -9452
  34. package/src/abstract/InitializeDateTimeFormat.d.ts +1 -1
  35. package/src/abstract/InitializeDateTimeFormat.js +11 -7
  36. package/src/abstract/skeleton.js +1 -1
  37. package/src/core.d.ts +1 -1
  38. package/src/core.js +9 -9
@@ -1,4 +1,4 @@
1
- import { IntlDateTimeFormatInternal, DateTimeFormatLocaleInternalData, DateTimeFormat as DateTimeFormat } from '@formatjs/ecma402-abstract';
1
+ import { DateTimeFormat, DateTimeFormatLocaleInternalData, IntlDateTimeFormatInternal } from '@formatjs/ecma402-abstract';
2
2
  /**
3
3
  * https://tc39.es/ecma402/#sec-initializedatetimeformat
4
4
  * @param dtf DateTimeFormat
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InitializeDateTimeFormat = void 0;
4
4
  var ecma402_abstract_1 = require("@formatjs/ecma402-abstract");
5
+ var intl_localematcher_1 = require("@formatjs/intl-localematcher");
5
6
  var BasicFormatMatcher_1 = require("./BasicFormatMatcher");
6
7
  var BestFitFormatMatcher_1 = require("./BestFitFormatMatcher");
7
- var utils_1 = require("./utils");
8
8
  var DateTimeStyleFormat_1 = require("./DateTimeStyleFormat");
9
9
  var ToDateTimeOptions_1 = require("./ToDateTimeOptions");
10
- var intl_localematcher_1 = require("@formatjs/intl-localematcher");
10
+ var utils_1 = require("./utils");
11
11
  function isTimeRelated(opt) {
12
12
  for (var _i = 0, _a = ['hour', 'minute', 'second']; _i < _a.length; _i++) {
13
13
  var prop = _a[_i];
@@ -87,10 +87,16 @@ function InitializeDateTimeFormat(dtf, locales, opts, _a) {
87
87
  var timeZone = options.timeZone;
88
88
  if (timeZone !== undefined) {
89
89
  timeZone = String(timeZone);
90
- if (!(0, ecma402_abstract_1.IsValidTimeZoneName)(timeZone, { tzData: tzData, uppercaseLinks: uppercaseLinks })) {
90
+ if (!(0, ecma402_abstract_1.IsValidTimeZoneName)(timeZone, {
91
+ zoneNamesFromData: Object.keys(tzData),
92
+ uppercaseLinks: uppercaseLinks,
93
+ })) {
91
94
  throw new RangeError('Invalid timeZoneName');
92
95
  }
93
- timeZone = (0, ecma402_abstract_1.CanonicalizeTimeZoneName)(timeZone, { tzData: tzData, uppercaseLinks: uppercaseLinks });
96
+ timeZone = (0, ecma402_abstract_1.CanonicalizeTimeZoneName)(timeZone, {
97
+ zoneNames: Object.keys(tzData),
98
+ uppercaseLinks: uppercaseLinks,
99
+ });
94
100
  }
95
101
  else {
96
102
  timeZone = getDefaultTimeZone();
@@ -113,9 +119,7 @@ function InitializeDateTimeFormat(dtf, locales, opts, _a) {
113
119
  'longGeneric',
114
120
  'shortGeneric',
115
121
  ], undefined);
116
- opt.fractionalSecondDigits = (0, ecma402_abstract_1.GetNumberOption)(options, 'fractionalSecondDigits', 1, 3,
117
- // @ts-expect-error
118
- undefined);
122
+ opt.fractionalSecondDigits = (0, ecma402_abstract_1.GetNumberOption)(options, 'fractionalSecondDigits', 1, 3, undefined);
119
123
  var dataLocaleData = localeData[dataLocale];
120
124
  (0, ecma402_abstract_1.invariant)(!!dataLocaleData, "Missing locale data for ".concat(dataLocale));
121
125
  var formats = dataLocaleData.formats[calendar];
@@ -111,7 +111,7 @@ function matchSkeletonPattern(match, result) {
111
111
  // Zone
112
112
  case 'z': // 1..3, 4: specific non-location format
113
113
  case 'Z': // 1..3, 4, 5: The ISO8601 varios formats
114
- case 'O': // 1, 4: miliseconds in day short, long
114
+ case 'O': // 1, 4: milliseconds in day short, long
115
115
  case 'v': // 1, 4: generic non-location format
116
116
  case 'V': // 1, 2, 3, 4: time zone ID or city
117
117
  case 'X': // 1, 2, 3, 4: The ISO8601 varios formats
package/src/core.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DateTimeFormat as IDateTimeFormat, DateTimeFormatLocaleInternalData, UnpackedZoneData } from '@formatjs/ecma402-abstract';
1
+ import { DateTimeFormatLocaleInternalData, DateTimeFormat as IDateTimeFormat, UnpackedZoneData } from '@formatjs/ecma402-abstract';
2
2
  import { PackedData, RawDateTimeLocaleData } from './types';
3
3
  export interface DateTimeFormatConstructor {
4
4
  new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): IDateTimeFormat;
package/src/core.js CHANGED
@@ -3,16 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DateTimeFormat = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var ecma402_abstract_1 = require("@formatjs/ecma402-abstract");
6
- var get_internal_slots_1 = tslib_1.__importDefault(require("./get_internal_slots"));
7
- var links_1 = tslib_1.__importDefault(require("./data/links"));
8
- var packer_1 = require("./packer");
9
6
  var FormatDateTime_1 = require("./abstract/FormatDateTime");
10
- var InitializeDateTimeFormat_1 = require("./abstract/InitializeDateTimeFormat");
11
- var utils_1 = require("./abstract/utils");
12
- var FormatDateTimeToParts_1 = require("./abstract/FormatDateTimeToParts");
13
- var FormatDateTimeRangeToParts_1 = require("./abstract/FormatDateTimeRangeToParts");
14
7
  var FormatDateTimeRange_1 = require("./abstract/FormatDateTimeRange");
8
+ var FormatDateTimeRangeToParts_1 = require("./abstract/FormatDateTimeRangeToParts");
9
+ var FormatDateTimeToParts_1 = require("./abstract/FormatDateTimeToParts");
10
+ var InitializeDateTimeFormat_1 = require("./abstract/InitializeDateTimeFormat");
15
11
  var skeleton_1 = require("./abstract/skeleton");
12
+ var utils_1 = require("./abstract/utils");
13
+ var links_1 = tslib_1.__importDefault(require("./data/links"));
14
+ var get_internal_slots_1 = tslib_1.__importDefault(require("./get_internal_slots"));
15
+ var packer_1 = require("./packer");
16
16
  var UPPERCASED_LINKS = Object.keys(links_1.default).reduce(function (all, l) {
17
17
  all[l.toUpperCase()] = links_1.default[l];
18
18
  return all;
@@ -216,13 +216,13 @@ exports.DateTimeFormat.__setDefaultTimeZone = function (timeZone) {
216
216
  if (timeZone !== undefined) {
217
217
  timeZone = String(timeZone);
218
218
  if (!(0, ecma402_abstract_1.IsValidTimeZoneName)(timeZone, {
219
- tzData: exports.DateTimeFormat.tzData,
219
+ zoneNamesFromData: Object.keys(exports.DateTimeFormat.tzData),
220
220
  uppercaseLinks: UPPERCASED_LINKS,
221
221
  })) {
222
222
  throw new RangeError('Invalid timeZoneName');
223
223
  }
224
224
  timeZone = (0, ecma402_abstract_1.CanonicalizeTimeZoneName)(timeZone, {
225
- tzData: exports.DateTimeFormat.tzData,
225
+ zoneNames: Object.keys(exports.DateTimeFormat.tzData),
226
226
  uppercaseLinks: UPPERCASED_LINKS,
227
227
  });
228
228
  }