@formatjs/intl-datetimeformat 4.5.2 → 5.0.2

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/lib/polyfill.js CHANGED
@@ -6,17 +6,32 @@ if (shouldPolyfill()) {
6
6
  defineProperty(Intl, 'DateTimeFormat', { value: DateTimeFormat });
7
7
  defineProperty(Date.prototype, 'toLocaleString', {
8
8
  value: function toLocaleString(locales, options) {
9
- return _toLocaleString(this, locales, options);
9
+ try {
10
+ return _toLocaleString(this, locales, options);
11
+ }
12
+ catch (error) {
13
+ return 'Invalid Date';
14
+ }
10
15
  },
11
16
  });
12
17
  defineProperty(Date.prototype, 'toLocaleDateString', {
13
18
  value: function toLocaleDateString(locales, options) {
14
- return _toLocaleDateString(this, locales, options);
19
+ try {
20
+ return _toLocaleDateString(this, locales, options);
21
+ }
22
+ catch (error) {
23
+ return 'Invalid Date';
24
+ }
15
25
  },
16
26
  });
17
27
  defineProperty(Date.prototype, 'toLocaleTimeString', {
18
28
  value: function toLocaleTimeString(locales, options) {
19
- return _toLocaleTimeString(this, locales, options);
29
+ try {
30
+ return _toLocaleTimeString(this, locales, options);
31
+ }
32
+ catch (error) {
33
+ return 'Invalid Date';
34
+ }
20
35
  },
21
36
  });
22
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/intl-datetimeformat",
3
- "version": "4.5.2",
3
+ "version": "5.0.2",
4
4
  "description": "Intl.DateTimeFormat polyfill",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "homepage": "https://github.com/formatjs/formatjs#readme",
24
24
  "dependencies": {
25
- "@formatjs/ecma402-abstract": "1.11.3",
26
- "@formatjs/intl-localematcher": "0.2.24",
25
+ "@formatjs/ecma402-abstract": "1.11.4",
26
+ "@formatjs/intl-localematcher": "0.2.25",
27
27
  "tslib": "^2.1.0"
28
28
  }
29
29
  }
package/polyfill.iife.js CHANGED
@@ -1,359 +1,4 @@
1
1
  (function() {
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __markAsModule = function(target) {
9
- return __defProp(target, "__esModule", { value: true });
10
- };
11
- var __commonJS = function(cb, mod2) {
12
- return function __require() {
13
- return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports;
14
- };
15
- };
16
- var __reExport = function(target, module, copyDefault, desc) {
17
- if (module && typeof module === "object" || typeof module === "function")
18
- for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) {
19
- key = keys[i];
20
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
21
- __defProp(target, key, { get: function(k) {
22
- return module[k];
23
- }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
24
- }
25
- return target;
26
- };
27
- var __toESM = function(module, isNodeMode) {
28
- return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", !isNodeMode && module && module.__esModule ? { get: function() {
29
- return module.default;
30
- }, enumerable: true } : { value: module, enumerable: true })), module);
31
- };
32
-
33
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/CanonicalizeLocaleList.js
34
- var require_CanonicalizeLocaleList = __commonJS({
35
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/CanonicalizeLocaleList.js": function(exports) {
36
- "use strict";
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.CanonicalizeLocaleList = void 0;
39
- function CanonicalizeLocaleList2(locales) {
40
- return Intl.getCanonicalLocales(locales);
41
- }
42
- exports.CanonicalizeLocaleList = CanonicalizeLocaleList2;
43
- }
44
- });
45
-
46
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/utils.js
47
- var require_utils = __commonJS({
48
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/utils.js": function(exports) {
49
- "use strict";
50
- Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.invariant = exports.UNICODE_EXTENSION_SEQUENCE_REGEX = void 0;
52
- exports.UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;
53
- function invariant2(condition, message, Err) {
54
- if (Err === void 0) {
55
- Err = Error;
56
- }
57
- if (!condition) {
58
- throw new Err(message);
59
- }
60
- }
61
- exports.invariant = invariant2;
62
- }
63
- });
64
-
65
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/BestAvailableLocale.js
66
- var require_BestAvailableLocale = __commonJS({
67
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/BestAvailableLocale.js": function(exports) {
68
- "use strict";
69
- Object.defineProperty(exports, "__esModule", { value: true });
70
- exports.BestAvailableLocale = void 0;
71
- function BestAvailableLocale(availableLocales, locale) {
72
- var candidate = locale;
73
- while (true) {
74
- if (availableLocales.has(candidate)) {
75
- return candidate;
76
- }
77
- var pos = candidate.lastIndexOf("-");
78
- if (!~pos) {
79
- return void 0;
80
- }
81
- if (pos >= 2 && candidate[pos - 2] === "-") {
82
- pos -= 2;
83
- }
84
- candidate = candidate.slice(0, pos);
85
- }
86
- }
87
- exports.BestAvailableLocale = BestAvailableLocale;
88
- }
89
- });
90
-
91
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/LookupMatcher.js
92
- var require_LookupMatcher = __commonJS({
93
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/LookupMatcher.js": function(exports) {
94
- "use strict";
95
- Object.defineProperty(exports, "__esModule", { value: true });
96
- exports.LookupMatcher = void 0;
97
- var utils_1 = require_utils();
98
- var BestAvailableLocale_1 = require_BestAvailableLocale();
99
- function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
100
- var result = { locale: "" };
101
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
102
- var locale = requestedLocales_1[_i];
103
- var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, "");
104
- var availableLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(availableLocales, noExtensionLocale);
105
- if (availableLocale) {
106
- result.locale = availableLocale;
107
- if (locale !== noExtensionLocale) {
108
- result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
109
- }
110
- return result;
111
- }
112
- }
113
- result.locale = getDefaultLocale();
114
- return result;
115
- }
116
- exports.LookupMatcher = LookupMatcher;
117
- }
118
- });
119
-
120
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/BestFitMatcher.js
121
- var require_BestFitMatcher = __commonJS({
122
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/BestFitMatcher.js": function(exports) {
123
- "use strict";
124
- Object.defineProperty(exports, "__esModule", { value: true });
125
- exports.BestFitMatcher = void 0;
126
- var BestAvailableLocale_1 = require_BestAvailableLocale();
127
- var utils_1 = require_utils();
128
- function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
129
- var minimizedAvailableLocaleMap = {};
130
- var availableLocaleMap = {};
131
- var canonicalizedLocaleMap = {};
132
- var minimizedAvailableLocales = /* @__PURE__ */ new Set();
133
- availableLocales.forEach(function(locale2) {
134
- var minimizedLocale = new Intl.Locale(locale2).minimize().toString();
135
- var canonicalizedLocale = Intl.getCanonicalLocales(locale2)[0] || locale2;
136
- minimizedAvailableLocaleMap[minimizedLocale] = locale2;
137
- availableLocaleMap[locale2] = locale2;
138
- canonicalizedLocaleMap[canonicalizedLocale] = locale2;
139
- minimizedAvailableLocales.add(minimizedLocale);
140
- minimizedAvailableLocales.add(locale2);
141
- minimizedAvailableLocales.add(canonicalizedLocale);
142
- });
143
- var foundLocale;
144
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
145
- var l = requestedLocales_1[_i];
146
- if (foundLocale) {
147
- break;
148
- }
149
- var noExtensionLocale = l.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, "");
150
- if (availableLocales.has(noExtensionLocale)) {
151
- foundLocale = noExtensionLocale;
152
- break;
153
- }
154
- if (minimizedAvailableLocales.has(noExtensionLocale)) {
155
- foundLocale = noExtensionLocale;
156
- break;
157
- }
158
- var locale = new Intl.Locale(noExtensionLocale);
159
- var maximizedRequestedLocale = locale.maximize().toString();
160
- var minimizedRequestedLocale = locale.minimize().toString();
161
- if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {
162
- foundLocale = minimizedRequestedLocale;
163
- break;
164
- }
165
- foundLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(minimizedAvailableLocales, maximizedRequestedLocale);
166
- }
167
- if (!foundLocale) {
168
- return { locale: getDefaultLocale() };
169
- }
170
- return {
171
- locale: availableLocaleMap[foundLocale] || canonicalizedLocaleMap[foundLocale] || minimizedAvailableLocaleMap[foundLocale] || foundLocale
172
- };
173
- }
174
- exports.BestFitMatcher = BestFitMatcher;
175
- }
176
- });
177
-
178
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/UnicodeExtensionValue.js
179
- var require_UnicodeExtensionValue = __commonJS({
180
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/UnicodeExtensionValue.js": function(exports) {
181
- "use strict";
182
- Object.defineProperty(exports, "__esModule", { value: true });
183
- exports.UnicodeExtensionValue = void 0;
184
- var utils_1 = require_utils();
185
- function UnicodeExtensionValue(extension, key) {
186
- (0, utils_1.invariant)(key.length === 2, "key must have 2 elements");
187
- var size = extension.length;
188
- var searchValue = "-".concat(key, "-");
189
- var pos = extension.indexOf(searchValue);
190
- if (pos !== -1) {
191
- var start = pos + 4;
192
- var end = start;
193
- var k = start;
194
- var done = false;
195
- while (!done) {
196
- var e = extension.indexOf("-", k);
197
- var len = void 0;
198
- if (e === -1) {
199
- len = size - k;
200
- } else {
201
- len = e - k;
202
- }
203
- if (len === 2) {
204
- done = true;
205
- } else if (e === -1) {
206
- end = size;
207
- done = true;
208
- } else {
209
- end = e;
210
- k = e + 1;
211
- }
212
- }
213
- return extension.slice(start, end);
214
- }
215
- searchValue = "-".concat(key);
216
- pos = extension.indexOf(searchValue);
217
- if (pos !== -1 && pos + 3 === size) {
218
- return "";
219
- }
220
- return void 0;
221
- }
222
- exports.UnicodeExtensionValue = UnicodeExtensionValue;
223
- }
224
- });
225
-
226
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/ResolveLocale.js
227
- var require_ResolveLocale = __commonJS({
228
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/ResolveLocale.js": function(exports) {
229
- "use strict";
230
- Object.defineProperty(exports, "__esModule", { value: true });
231
- exports.ResolveLocale = void 0;
232
- var LookupMatcher_1 = require_LookupMatcher();
233
- var BestFitMatcher_1 = require_BestFitMatcher();
234
- var utils_1 = require_utils();
235
- var UnicodeExtensionValue_1 = require_UnicodeExtensionValue();
236
- function ResolveLocale2(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
237
- var matcher = options.localeMatcher;
238
- var r;
239
- if (matcher === "lookup") {
240
- r = (0, LookupMatcher_1.LookupMatcher)(availableLocales, requestedLocales, getDefaultLocale);
241
- } else {
242
- r = (0, BestFitMatcher_1.BestFitMatcher)(availableLocales, requestedLocales, getDefaultLocale);
243
- }
244
- var foundLocale = r.locale;
245
- var result = { locale: "", dataLocale: foundLocale };
246
- var supportedExtension = "-u";
247
- for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
248
- var key = relevantExtensionKeys_1[_i];
249
- (0, utils_1.invariant)(foundLocale in localeData, "Missing locale data for ".concat(foundLocale));
250
- var foundLocaleData = localeData[foundLocale];
251
- (0, utils_1.invariant)(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data ".concat(key, " must be an object"));
252
- var keyLocaleData = foundLocaleData[key];
253
- (0, utils_1.invariant)(Array.isArray(keyLocaleData), "keyLocaleData for ".concat(key, " must be an array"));
254
- var value = keyLocaleData[0];
255
- (0, utils_1.invariant)(typeof value === "string" || value === null, "value must be string or null but got ".concat(typeof value, " in key ").concat(key));
256
- var supportedExtensionAddition = "";
257
- if (r.extension) {
258
- var requestedValue = (0, UnicodeExtensionValue_1.UnicodeExtensionValue)(r.extension, key);
259
- if (requestedValue !== void 0) {
260
- if (requestedValue !== "") {
261
- if (~keyLocaleData.indexOf(requestedValue)) {
262
- value = requestedValue;
263
- supportedExtensionAddition = "-".concat(key, "-").concat(value);
264
- }
265
- } else if (~requestedValue.indexOf("true")) {
266
- value = "true";
267
- supportedExtensionAddition = "-".concat(key);
268
- }
269
- }
270
- }
271
- if (key in options) {
272
- var optionsValue = options[key];
273
- (0, utils_1.invariant)(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null");
274
- if (~keyLocaleData.indexOf(optionsValue)) {
275
- if (optionsValue !== value) {
276
- value = optionsValue;
277
- supportedExtensionAddition = "";
278
- }
279
- }
280
- }
281
- result[key] = value;
282
- supportedExtension += supportedExtensionAddition;
283
- }
284
- if (supportedExtension.length > 2) {
285
- var privateIndex = foundLocale.indexOf("-x-");
286
- if (privateIndex === -1) {
287
- foundLocale = foundLocale + supportedExtension;
288
- } else {
289
- var preExtension = foundLocale.slice(0, privateIndex);
290
- var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
291
- foundLocale = preExtension + supportedExtension + postExtension;
292
- }
293
- foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
294
- }
295
- result.locale = foundLocale;
296
- return result;
297
- }
298
- exports.ResolveLocale = ResolveLocale2;
299
- }
300
- });
301
-
302
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/LookupSupportedLocales.js
303
- var require_LookupSupportedLocales = __commonJS({
304
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/abstract/LookupSupportedLocales.js": function(exports) {
305
- "use strict";
306
- Object.defineProperty(exports, "__esModule", { value: true });
307
- exports.LookupSupportedLocales = void 0;
308
- var utils_1 = require_utils();
309
- var BestAvailableLocale_1 = require_BestAvailableLocale();
310
- function LookupSupportedLocales2(availableLocales, requestedLocales) {
311
- var subset = [];
312
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
313
- var locale = requestedLocales_1[_i];
314
- var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, "");
315
- var availableLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(availableLocales, noExtensionLocale);
316
- if (availableLocale) {
317
- subset.push(availableLocale);
318
- }
319
- }
320
- return subset;
321
- }
322
- exports.LookupSupportedLocales = LookupSupportedLocales2;
323
- }
324
- });
325
-
326
- // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/index.js
327
- var require_intl_localematcher = __commonJS({
328
- "bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/index.js": function(exports) {
329
- "use strict";
330
- Object.defineProperty(exports, "__esModule", { value: true });
331
- exports.ResolveLocale = exports.LookupSupportedLocales = exports.match = void 0;
332
- var CanonicalizeLocaleList_1 = require_CanonicalizeLocaleList();
333
- var ResolveLocale_1 = require_ResolveLocale();
334
- function match2(requestedLocales, availableLocales, defaultLocale, opts) {
335
- var locales = availableLocales.reduce(function(all, l) {
336
- all.add(l);
337
- return all;
338
- }, /* @__PURE__ */ new Set());
339
- return (0, ResolveLocale_1.ResolveLocale)(locales, (0, CanonicalizeLocaleList_1.CanonicalizeLocaleList)(requestedLocales), {
340
- localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || "best fit"
341
- }, [], {}, function() {
342
- return defaultLocale;
343
- }).locale;
344
- }
345
- exports.match = match2;
346
- var LookupSupportedLocales_1 = require_LookupSupportedLocales();
347
- Object.defineProperty(exports, "LookupSupportedLocales", { enumerable: true, get: function() {
348
- return LookupSupportedLocales_1.LookupSupportedLocales;
349
- } });
350
- var ResolveLocale_2 = require_ResolveLocale();
351
- Object.defineProperty(exports, "ResolveLocale", { enumerable: true, get: function() {
352
- return ResolveLocale_2.ResolveLocale;
353
- } });
354
- }
355
- });
356
-
357
2
  // node_modules/tslib/tslib.es6.js
358
3
  var __assign = function() {
359
4
  __assign = Object.assign || function __assign2(t) {
@@ -732,6 +377,237 @@
732
377
  }
733
378
  }
734
379
 
380
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/CanonicalizeLocaleList.js
381
+ function CanonicalizeLocaleList2(locales) {
382
+ return Intl.getCanonicalLocales(locales);
383
+ }
384
+
385
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/utils.js
386
+ var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;
387
+ function invariant2(condition, message, Err) {
388
+ if (Err === void 0) {
389
+ Err = Error;
390
+ }
391
+ if (!condition) {
392
+ throw new Err(message);
393
+ }
394
+ }
395
+
396
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/BestAvailableLocale.js
397
+ function BestAvailableLocale(availableLocales, locale) {
398
+ var candidate = locale;
399
+ while (true) {
400
+ if (availableLocales.has(candidate)) {
401
+ return candidate;
402
+ }
403
+ var pos = candidate.lastIndexOf("-");
404
+ if (!~pos) {
405
+ return void 0;
406
+ }
407
+ if (pos >= 2 && candidate[pos - 2] === "-") {
408
+ pos -= 2;
409
+ }
410
+ candidate = candidate.slice(0, pos);
411
+ }
412
+ }
413
+
414
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/LookupMatcher.js
415
+ function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
416
+ var result = { locale: "" };
417
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
418
+ var locale = requestedLocales_1[_i];
419
+ var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, "");
420
+ var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
421
+ if (availableLocale) {
422
+ result.locale = availableLocale;
423
+ if (locale !== noExtensionLocale) {
424
+ result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
425
+ }
426
+ return result;
427
+ }
428
+ }
429
+ result.locale = getDefaultLocale();
430
+ return result;
431
+ }
432
+
433
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/BestFitMatcher.js
434
+ function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
435
+ var minimizedAvailableLocaleMap = {};
436
+ var availableLocaleMap = {};
437
+ var canonicalizedLocaleMap = {};
438
+ var minimizedAvailableLocales = /* @__PURE__ */ new Set();
439
+ availableLocales.forEach(function(locale2) {
440
+ var minimizedLocale = new Intl.Locale(locale2).minimize().toString();
441
+ var canonicalizedLocale = Intl.getCanonicalLocales(locale2)[0] || locale2;
442
+ minimizedAvailableLocaleMap[minimizedLocale] = locale2;
443
+ availableLocaleMap[locale2] = locale2;
444
+ canonicalizedLocaleMap[canonicalizedLocale] = locale2;
445
+ minimizedAvailableLocales.add(minimizedLocale);
446
+ minimizedAvailableLocales.add(locale2);
447
+ minimizedAvailableLocales.add(canonicalizedLocale);
448
+ });
449
+ var foundLocale;
450
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
451
+ var l = requestedLocales_1[_i];
452
+ if (foundLocale) {
453
+ break;
454
+ }
455
+ var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, "");
456
+ if (availableLocales.has(noExtensionLocale)) {
457
+ foundLocale = noExtensionLocale;
458
+ break;
459
+ }
460
+ if (minimizedAvailableLocales.has(noExtensionLocale)) {
461
+ foundLocale = noExtensionLocale;
462
+ break;
463
+ }
464
+ var locale = new Intl.Locale(noExtensionLocale);
465
+ var maximizedRequestedLocale = locale.maximize().toString();
466
+ var minimizedRequestedLocale = locale.minimize().toString();
467
+ if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {
468
+ foundLocale = minimizedRequestedLocale;
469
+ break;
470
+ }
471
+ foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
472
+ }
473
+ if (!foundLocale) {
474
+ return { locale: getDefaultLocale() };
475
+ }
476
+ return {
477
+ locale: availableLocaleMap[foundLocale] || canonicalizedLocaleMap[foundLocale] || minimizedAvailableLocaleMap[foundLocale] || foundLocale
478
+ };
479
+ }
480
+
481
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/UnicodeExtensionValue.js
482
+ function UnicodeExtensionValue(extension, key) {
483
+ invariant2(key.length === 2, "key must have 2 elements");
484
+ var size = extension.length;
485
+ var searchValue = "-".concat(key, "-");
486
+ var pos = extension.indexOf(searchValue);
487
+ if (pos !== -1) {
488
+ var start = pos + 4;
489
+ var end = start;
490
+ var k = start;
491
+ var done = false;
492
+ while (!done) {
493
+ var e = extension.indexOf("-", k);
494
+ var len = void 0;
495
+ if (e === -1) {
496
+ len = size - k;
497
+ } else {
498
+ len = e - k;
499
+ }
500
+ if (len === 2) {
501
+ done = true;
502
+ } else if (e === -1) {
503
+ end = size;
504
+ done = true;
505
+ } else {
506
+ end = e;
507
+ k = e + 1;
508
+ }
509
+ }
510
+ return extension.slice(start, end);
511
+ }
512
+ searchValue = "-".concat(key);
513
+ pos = extension.indexOf(searchValue);
514
+ if (pos !== -1 && pos + 3 === size) {
515
+ return "";
516
+ }
517
+ return void 0;
518
+ }
519
+
520
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/ResolveLocale.js
521
+ function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
522
+ var matcher = options.localeMatcher;
523
+ var r;
524
+ if (matcher === "lookup") {
525
+ r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
526
+ } else {
527
+ r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
528
+ }
529
+ var foundLocale = r.locale;
530
+ var result = { locale: "", dataLocale: foundLocale };
531
+ var supportedExtension = "-u";
532
+ for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
533
+ var key = relevantExtensionKeys_1[_i];
534
+ invariant2(foundLocale in localeData, "Missing locale data for ".concat(foundLocale));
535
+ var foundLocaleData = localeData[foundLocale];
536
+ invariant2(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data ".concat(key, " must be an object"));
537
+ var keyLocaleData = foundLocaleData[key];
538
+ invariant2(Array.isArray(keyLocaleData), "keyLocaleData for ".concat(key, " must be an array"));
539
+ var value = keyLocaleData[0];
540
+ invariant2(typeof value === "string" || value === null, "value must be string or null but got ".concat(typeof value, " in key ").concat(key));
541
+ var supportedExtensionAddition = "";
542
+ if (r.extension) {
543
+ var requestedValue = UnicodeExtensionValue(r.extension, key);
544
+ if (requestedValue !== void 0) {
545
+ if (requestedValue !== "") {
546
+ if (~keyLocaleData.indexOf(requestedValue)) {
547
+ value = requestedValue;
548
+ supportedExtensionAddition = "-".concat(key, "-").concat(value);
549
+ }
550
+ } else if (~requestedValue.indexOf("true")) {
551
+ value = "true";
552
+ supportedExtensionAddition = "-".concat(key);
553
+ }
554
+ }
555
+ }
556
+ if (key in options) {
557
+ var optionsValue = options[key];
558
+ invariant2(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null");
559
+ if (~keyLocaleData.indexOf(optionsValue)) {
560
+ if (optionsValue !== value) {
561
+ value = optionsValue;
562
+ supportedExtensionAddition = "";
563
+ }
564
+ }
565
+ }
566
+ result[key] = value;
567
+ supportedExtension += supportedExtensionAddition;
568
+ }
569
+ if (supportedExtension.length > 2) {
570
+ var privateIndex = foundLocale.indexOf("-x-");
571
+ if (privateIndex === -1) {
572
+ foundLocale = foundLocale + supportedExtension;
573
+ } else {
574
+ var preExtension = foundLocale.slice(0, privateIndex);
575
+ var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
576
+ foundLocale = preExtension + supportedExtension + postExtension;
577
+ }
578
+ foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
579
+ }
580
+ result.locale = foundLocale;
581
+ return result;
582
+ }
583
+
584
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/abstract/LookupSupportedLocales.js
585
+ function LookupSupportedLocales(availableLocales, requestedLocales) {
586
+ var subset = [];
587
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
588
+ var locale = requestedLocales_1[_i];
589
+ var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, "");
590
+ var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
591
+ if (availableLocale) {
592
+ subset.push(availableLocale);
593
+ }
594
+ }
595
+ return subset;
596
+ }
597
+
598
+ // bazel-out/darwin-fastbuild/bin/packages/intl-localematcher/lib/index.js
599
+ function match(requestedLocales, availableLocales, defaultLocale, opts) {
600
+ var locales = availableLocales.reduce(function(all, l) {
601
+ all.add(l);
602
+ return all;
603
+ }, /* @__PURE__ */ new Set());
604
+ return ResolveLocale(locales, CanonicalizeLocaleList2(requestedLocales), {
605
+ localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || "best fit"
606
+ }, [], {}, function() {
607
+ return defaultLocale;
608
+ }).locale;
609
+ }
610
+
735
611
  // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PartitionPattern.js
736
612
  function PartitionPattern(pattern) {
737
613
  var result = [];
@@ -765,7 +641,6 @@
765
641
  }
766
642
 
767
643
  // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js
768
- var import_intl_localematcher = __toESM(require_intl_localematcher());
769
644
  function SupportedLocales(availableLocales, requestedLocales, options) {
770
645
  var matcher = "best fit";
771
646
  if (options !== void 0) {
@@ -773,9 +648,9 @@
773
648
  matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit");
774
649
  }
775
650
  if (matcher === "best fit") {
776
- return (0, import_intl_localematcher.LookupSupportedLocales)(availableLocales, requestedLocales);
651
+ return LookupSupportedLocales(availableLocales, requestedLocales);
777
652
  }
778
- return (0, import_intl_localematcher.LookupSupportedLocales)(availableLocales, requestedLocales);
653
+ return LookupSupportedLocales(availableLocales, requestedLocales);
779
654
  }
780
655
 
781
656
  // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js
@@ -1657,7 +1532,6 @@
1657
1532
  }
1658
1533
 
1659
1534
  // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/abstract/InitializeDateTimeFormat.js
1660
- var import_intl_localematcher2 = __toESM(require_intl_localematcher());
1661
1535
  function isTimeRelated(opt) {
1662
1536
  for (var _i = 0, _a = ["hour", "minute", "second"]; _i < _a.length; _i++) {
1663
1537
  var prop = _a[_i];
@@ -1715,7 +1589,7 @@
1715
1589
  hourCycle = null;
1716
1590
  }
1717
1591
  opt.hc = hourCycle;
1718
- var r = (0, import_intl_localematcher2.ResolveLocale)(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
1592
+ var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
1719
1593
  internalSlots.locale = r.locale;
1720
1594
  calendar = r.ca;
1721
1595
  internalSlots.calendar = calendar;
@@ -2223,9 +2097,6 @@
2223
2097
  } catch (e) {
2224
2098
  }
2225
2099
 
2226
- // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/should-polyfill.js
2227
- var import_intl_localematcher3 = __toESM(require_intl_localematcher());
2228
-
2229
2100
  // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/supported-locales.js
2230
2101
  var supportedLocales = ["af-NA", "af", "agq", "ak", "am", "ar-AE", "ar-BH", "ar-DJ", "ar-DZ", "ar-EG", "ar-EH", "ar-ER", "ar-IL", "ar-IQ", "ar-JO", "ar-KM", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-MR", "ar-OM", "ar-PS", "ar-QA", "ar-SA", "ar-SD", "ar-SO", "ar-SS", "ar-SY", "ar-TD", "ar-TN", "ar-YE", "ar", "as", "asa", "ast", "az-Cyrl", "az-Latn", "az", "bas", "be-tarask", "be", "bem", "bez", "bg", "bm", "bn-IN", "bn", "bo-IN", "bo", "br", "brx", "bs-Cyrl", "bs-Latn", "bs", "ca-AD", "ca-ES-valencia", "ca-FR", "ca-IT", "ca", "ccp-IN", "ccp", "ce", "ceb", "cgg", "chr", "ckb-IR", "ckb", "cs", "cy", "da-GL", "da", "dav", "de-AT", "de-BE", "de-CH", "de-IT", "de-LI", "de-LU", "de", "dje", "doi", "dsb", "dua", "dyo", "dz", "ebu", "ee-TG", "ee", "el-CY", "el", "en-001", "en-150", "en-AE", "en-AG", "en-AI", "en-AS", "en-AT", "en-AU", "en-BB", "en-BE", "en-BI", "en-BM", "en-BS", "en-BW", "en-BZ", "en-CA", "en-CC", "en-CH", "en-CK", "en-CM", "en-CX", "en-CY", "en-DE", "en-DG", "en-DK", "en-DM", "en-ER", "en-FI", "en-FJ", "en-FK", "en-FM", "en-GB", "en-GD", "en-GG", "en-GH", "en-GI", "en-GM", "en-GU", "en-GY", "en-HK", "en-IE", "en-IL", "en-IM", "en-IN", "en-IO", "en-JE", "en-JM", "en-KE", "en-KI", "en-KN", "en-KY", "en-LC", "en-LR", "en-LS", "en-MG", "en-MH", "en-MO", "en-MP", "en-MS", "en-MT", "en-MU", "en-MW", "en-MY", "en-NA", "en-NF", "en-NG", "en-NL", "en-NR", "en-NU", "en-NZ", "en-PG", "en-PH", "en-PK", "en-PN", "en-PR", "en-PW", "en-RW", "en-SB", "en-SC", "en-SD", "en-SE", "en-SG", "en-SH", "en-SI", "en-SL", "en-SS", "en-SX", "en-SZ", "en-TC", "en-TK", "en-TO", "en-TT", "en-TV", "en-TZ", "en-UG", "en-UM", "en-VC", "en-VG", "en-VI", "en-VU", "en-WS", "en-ZA", "en-ZM", "en-ZW", "en", "eo", "es-419", "es-AR", "es-BO", "es-BR", "es-BZ", "es-CL", "es-CO", "es-CR", "es-CU", "es-DO", "es-EA", "es-EC", "es-GQ", "es-GT", "es-HN", "es-IC", "es-MX", "es-NI", "es-PA", "es-PE", "es-PH", "es-PR", "es-PY", "es-SV", "es-US", "es-UY", "es-VE", "es", "et", "eu", "ewo", "fa-AF", "fa", "ff-Adlm-BF", "ff-Adlm-CM", "ff-Adlm-GH", "ff-Adlm-GM", "ff-Adlm-GW", "ff-Adlm-LR", "ff-Adlm-MR", "ff-Adlm-NE", "ff-Adlm-NG", "ff-Adlm-SL", "ff-Adlm-SN", "ff-Adlm", "ff-Latn-BF", "ff-Latn-CM", "ff-Latn-GH", "ff-Latn-GM", "ff-Latn-GN", "ff-Latn-GW", "ff-Latn-LR", "ff-Latn-MR", "ff-Latn-NE", "ff-Latn-NG", "ff-Latn-SL", "ff-Latn", "ff", "fi", "fil", "fo-DK", "fo", "fr-BE", "fr-BF", "fr-BI", "fr-BJ", "fr-BL", "fr-CA", "fr-CD", "fr-CF", "fr-CG", "fr-CH", "fr-CI", "fr-CM", "fr-DJ", "fr-DZ", "fr-GA", "fr-GF", "fr-GN", "fr-GP", "fr-GQ", "fr-HT", "fr-KM", "fr-LU", "fr-MA", "fr-MC", "fr-MF", "fr-MG", "fr-ML", "fr-MQ", "fr-MR", "fr-MU", "fr-NC", "fr-NE", "fr-PF", "fr-PM", "fr-RE", "fr-RW", "fr-SC", "fr-SN", "fr-SY", "fr-TD", "fr-TG", "fr-TN", "fr-VU", "fr-WF", "fr-YT", "fr", "fur", "fy", "ga-GB", "ga", "gd", "gl", "gsw-FR", "gsw-LI", "gsw", "gu", "guz", "gv", "ha-GH", "ha-NE", "ha", "haw", "he", "hi", "hr-BA", "hr", "hsb", "hu", "hy", "ia", "id", "ig", "ii", "is", "it-CH", "it-SM", "it-VA", "it", "ja", "jgo", "jmc", "jv", "ka", "kab", "kam", "kde", "kea", "kgp", "khq", "ki", "kk", "kkj", "kl", "kln", "km", "kn", "ko-KP", "ko", "kok", "ks-Arab", "ks", "ksb", "ksf", "ksh", "ku", "kw", "ky", "lag", "lb", "lg", "lkt", "ln-AO", "ln-CF", "ln-CG", "ln", "lo", "lrc-IQ", "lrc", "lt", "lu", "luo", "luy", "lv", "mai", "mas-TZ", "mas", "mer", "mfe", "mg", "mgh", "mgo", "mi", "mk", "ml", "mn", "mni-Beng", "mni", "mr", "ms-BN", "ms-ID", "ms-SG", "ms", "mt", "mua", "my", "mzn", "naq", "nb-SJ", "nb", "nd", "nds-NL", "nds", "ne-IN", "ne", "nl-AW", "nl-BE", "nl-BQ", "nl-CW", "nl-SR", "nl-SX", "nl", "nmg", "nn", "nnh", "no", "nus", "nyn", "om-KE", "om", "or", "os-RU", "os", "pa-Arab", "pa-Guru", "pa", "pcm", "pl", "ps-PK", "ps", "pt-AO", "pt-CH", "pt-CV", "pt-GQ", "pt-GW", "pt-LU", "pt-MO", "pt-MZ", "pt-PT", "pt-ST", "pt-TL", "pt", "qu-BO", "qu-EC", "qu", "rm", "rn", "ro-MD", "ro", "rof", "ru-BY", "ru-KG", "ru-KZ", "ru-MD", "ru-UA", "ru", "rw", "rwk", "sa", "sah", "saq", "sat-Olck", "sat", "sbp", "sc", "sd-Arab", "sd-Deva", "sd", "se-FI", "se-SE", "se", "seh", "ses", "sg", "shi-Latn", "shi-Tfng", "shi", "si", "sk", "sl", "smn", "sn", "so-DJ", "so-ET", "so-KE", "so", "sq-MK", "sq-XK", "sq", "sr-Cyrl-BA", "sr-Cyrl-ME", "sr-Cyrl-XK", "sr-Cyrl", "sr-Latn-BA", "sr-Latn-ME", "sr-Latn-XK", "sr-Latn", "sr", "su-Latn", "su", "sv-AX", "sv-FI", "sv", "sw-CD", "sw-KE", "sw-UG", "sw", "ta-LK", "ta-MY", "ta-SG", "ta", "te", "teo-KE", "teo", "tg", "th", "ti-ER", "ti", "tk", "to", "tr-CY", "tr", "tt", "twq", "tzm", "ug", "uk", "und", "ur-IN", "ur", "uz-Arab", "uz-Cyrl", "uz-Latn", "uz", "vai-Latn", "vai-Vaii", "vai", "vi", "vun", "wae", "wo", "xh", "xog", "yav", "yi", "yo-BJ", "yo", "yrl-CO", "yrl-VE", "yrl", "yue-Hans", "yue-Hant", "yue", "zgh", "zh-Hans-HK", "zh-Hans-MO", "zh-Hans-SG", "zh-Hans", "zh-Hant-HK", "zh-Hant-MO", "zh-Hant", "zh", "zu"];
2231
2102
 
@@ -2271,7 +2142,7 @@
2271
2142
  locale = "en";
2272
2143
  }
2273
2144
  if (!("DateTimeFormat" in Intl) || !("formatToParts" in Intl.DateTimeFormat.prototype) || !("formatRange" in Intl.DateTimeFormat.prototype) || hasChromeLt71Bug() || hasUnthrownDateTimeStyleBug() || !supportsDateStyle() || !supportedLocalesOf2(locale)) {
2274
- return locale ? (0, import_intl_localematcher3.match)([locale], supportedLocales, "en") : void 0;
2145
+ return locale ? match([locale], supportedLocales, "en") : void 0;
2275
2146
  }
2276
2147
  }
2277
2148
 
@@ -2294,17 +2165,29 @@
2294
2165
  defineProperty(Intl, "DateTimeFormat", { value: DateTimeFormat });
2295
2166
  defineProperty(Date.prototype, "toLocaleString", {
2296
2167
  value: function toLocaleString2(locales, options) {
2297
- return toLocaleString(this, locales, options);
2168
+ try {
2169
+ return toLocaleString(this, locales, options);
2170
+ } catch (error) {
2171
+ return "Invalid Date";
2172
+ }
2298
2173
  }
2299
2174
  });
2300
2175
  defineProperty(Date.prototype, "toLocaleDateString", {
2301
2176
  value: function toLocaleDateString2(locales, options) {
2302
- return toLocaleDateString(this, locales, options);
2177
+ try {
2178
+ return toLocaleDateString(this, locales, options);
2179
+ } catch (error) {
2180
+ return "Invalid Date";
2181
+ }
2303
2182
  }
2304
2183
  });
2305
2184
  defineProperty(Date.prototype, "toLocaleTimeString", {
2306
2185
  value: function toLocaleTimeString2(locales, options) {
2307
- return toLocaleTimeString(this, locales, options);
2186
+ try {
2187
+ return toLocaleTimeString(this, locales, options);
2188
+ } catch (error) {
2189
+ return "Invalid Date";
2190
+ }
2308
2191
  }
2309
2192
  });
2310
2193
  }
package/polyfill.js CHANGED
@@ -8,17 +8,32 @@ if ((0, should_polyfill_1.shouldPolyfill)()) {
8
8
  (0, ecma402_abstract_1.defineProperty)(Intl, 'DateTimeFormat', { value: _1.DateTimeFormat });
9
9
  (0, ecma402_abstract_1.defineProperty)(Date.prototype, 'toLocaleString', {
10
10
  value: function toLocaleString(locales, options) {
11
- return (0, to_locale_string_1.toLocaleString)(this, locales, options);
11
+ try {
12
+ return (0, to_locale_string_1.toLocaleString)(this, locales, options);
13
+ }
14
+ catch (error) {
15
+ return 'Invalid Date';
16
+ }
12
17
  },
13
18
  });
14
19
  (0, ecma402_abstract_1.defineProperty)(Date.prototype, 'toLocaleDateString', {
15
20
  value: function toLocaleDateString(locales, options) {
16
- return (0, to_locale_string_1.toLocaleDateString)(this, locales, options);
21
+ try {
22
+ return (0, to_locale_string_1.toLocaleDateString)(this, locales, options);
23
+ }
24
+ catch (error) {
25
+ return 'Invalid Date';
26
+ }
17
27
  },
18
28
  });
19
29
  (0, ecma402_abstract_1.defineProperty)(Date.prototype, 'toLocaleTimeString', {
20
30
  value: function toLocaleTimeString(locales, options) {
21
- return (0, to_locale_string_1.toLocaleTimeString)(this, locales, options);
31
+ try {
32
+ return (0, to_locale_string_1.toLocaleTimeString)(this, locales, options);
33
+ }
34
+ catch (error) {
35
+ return 'Invalid Date';
36
+ }
22
37
  },
23
38
  });
24
39
  }