@formatjs/intl-supportedvaluesof 2.3.0 → 2.3.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.
Files changed (42) hide show
  1. package/index.d.ts +60 -8
  2. package/index.js +1148 -2
  3. package/index.js.map +1 -0
  4. package/package.json +2 -3
  5. package/polyfill-force.d.ts +1 -1
  6. package/polyfill-force.js +1144 -1
  7. package/polyfill-force.js.map +1 -0
  8. package/polyfill.d.ts +1 -1
  9. package/polyfill.iife.js +289 -4361
  10. package/polyfill.js +1154 -9
  11. package/polyfill.js.map +1 -0
  12. package/should-polyfill.d.ts +5 -1
  13. package/should-polyfill.js +6 -1
  14. package/should-polyfill.js.map +1 -0
  15. package/src/calendars.generated.d.ts +0 -2
  16. package/src/calendars.generated.js +0 -23
  17. package/src/collations.generated.d.ts +0 -2
  18. package/src/collations.generated.js +0 -23
  19. package/src/currencies.generated.d.ts +0 -2
  20. package/src/currencies.generated.js +0 -311
  21. package/src/get-supported-calendars.d.ts +0 -8
  22. package/src/get-supported-calendars.js +0 -27
  23. package/src/get-supported-collations.d.ts +0 -8
  24. package/src/get-supported-collations.js +0 -23
  25. package/src/get-supported-currencies.d.ts +0 -8
  26. package/src/get-supported-currencies.js +0 -50
  27. package/src/get-supported-numbering-systems.d.ts +0 -7
  28. package/src/get-supported-numbering-systems.js +0 -28
  29. package/src/get-supported-timezones.d.ts +0 -8
  30. package/src/get-supported-timezones.js +0 -25
  31. package/src/get-supported-units.d.ts +0 -7
  32. package/src/get-supported-units.js +0 -28
  33. package/src/index.d.ts +0 -33
  34. package/src/index.js +0 -34
  35. package/src/memoize.d.ts +0 -9
  36. package/src/memoize.js +0 -10
  37. package/src/numbering-systems.generated.d.ts +0 -1
  38. package/src/numbering-systems.generated.js +0 -99
  39. package/src/timezones.generated.d.ts +0 -2
  40. package/src/timezones.generated.js +0 -431
  41. package/src/units.generated.d.ts +0 -2
  42. package/src/units.generated.js +0 -47
package/index.js CHANGED
@@ -1,2 +1,1148 @@
1
- export { shouldPolyfill } from "./should-polyfill.js";
2
- export { supportedValuesOf } from "./src/index.js";
1
+ import { memoize, strategies } from "@formatjs/fast-memoize";
2
+ //#region packages/intl-supportedvaluesof/memoize.ts
3
+ /**
4
+ * Implementation: Memoized factory for Intl.DateTimeFormat instances
5
+ *
6
+ * Creates and caches DateTimeFormat instances to avoid repeated instantiation overhead.
7
+ * This is critical for performance since we test many candidate values against formatters.
8
+ *
9
+ * Uses variadic memoization strategy to handle varying numbers of constructor arguments.
10
+ */
11
+ const createMemoizedDateTimeFormat = memoize((...args) => new Intl.DateTimeFormat(...args), { strategy: strategies.variadic });
12
+ //#endregion
13
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-values@0.0.0/node_modules/@formatjs_generated/cldr.supported-values/calendars.js
14
+ const calendars = [
15
+ "buddhist",
16
+ "chinese",
17
+ "coptic",
18
+ "dangi",
19
+ "ethioaa",
20
+ "ethiopic",
21
+ "gregory",
22
+ "hebrew",
23
+ "indian",
24
+ "islamic",
25
+ "islamic-civil",
26
+ "islamic-rgsa",
27
+ "islamic-tbla",
28
+ "islamic-umalqura",
29
+ "islamicc",
30
+ "iso8601",
31
+ "japanese",
32
+ "persian",
33
+ "roc"
34
+ ];
35
+ //#endregion
36
+ //#region packages/intl-supportedvaluesof/get-supported-calendars.ts
37
+ /**
38
+ * Implementation: Tests if a calendar is supported by attempting to create
39
+ * a DateTimeFormat with that calendar and verifying it was accepted.
40
+ *
41
+ * CLDR Data: Candidate values come from CLDR calendar types
42
+ */
43
+ function isSupportedCalendar(item) {
44
+ try {
45
+ return createMemoizedDateTimeFormat(`en-u-ca-${item}`).resolvedOptions().calendar === item;
46
+ } catch {}
47
+ return false;
48
+ }
49
+ /**
50
+ * ECMA-402 Spec: Returns supported calendar identifiers
51
+ * ECMA-402 Spec: Results must be sorted lexicographically
52
+ *
53
+ * Implementation: Filters CLDR list against actual runtime support
54
+ */
55
+ function getSupportedCalendars() {
56
+ return calendars.filter(isSupportedCalendar).sort();
57
+ }
58
+ //#endregion
59
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-values@0.0.0/node_modules/@formatjs_generated/cldr.supported-values/collations.js
60
+ const collations = [
61
+ "big5han",
62
+ "compat",
63
+ "dict",
64
+ "direct",
65
+ "ducet",
66
+ "emoji",
67
+ "eor",
68
+ "gb2312",
69
+ "phonebk",
70
+ "phonetic",
71
+ "pinyin",
72
+ "reformed",
73
+ "search",
74
+ "searchjl",
75
+ "standard",
76
+ "stroke",
77
+ "trad",
78
+ "unihan",
79
+ "zhuyin"
80
+ ];
81
+ //#endregion
82
+ //#region packages/intl-supportedvaluesof/get-supported-collations.ts
83
+ /**
84
+ * Implementation: Tests if a collation is supported by attempting to create
85
+ * a Collator with that collation and verifying it was accepted.
86
+ *
87
+ * CLDR Data: Candidate values come from CLDR collation types
88
+ */
89
+ function isSupportedCollation(collation) {
90
+ try {
91
+ return Intl.Collator(`en-u-co-${collation}`).resolvedOptions().collation === collation;
92
+ } catch {}
93
+ return false;
94
+ }
95
+ /**
96
+ * ECMA-402 Spec: Returns supported collation identifiers
97
+ * ECMA-402 Spec: Results must be sorted lexicographically
98
+ *
99
+ * Implementation: Filters CLDR list against actual runtime support
100
+ */
101
+ function getSupportedCollations() {
102
+ return collations.filter(isSupportedCollation).sort();
103
+ }
104
+ //#endregion
105
+ //#region packages/ecma402-abstract/utils.js
106
+ const createMemoizedNumberFormat = memoize((...args) => new Intl.NumberFormat(...args), { strategy: strategies.variadic });
107
+ memoize((...args) => new Intl.PluralRules(...args), { strategy: strategies.variadic });
108
+ memoize((...args) => new Intl.Locale(...args), { strategy: strategies.variadic });
109
+ memoize((...args) => new Intl.ListFormat(...args), { strategy: strategies.variadic });
110
+ //#endregion
111
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-values@0.0.0/node_modules/@formatjs_generated/cldr.supported-values/currencies.js
112
+ const currencies = [
113
+ "ADP",
114
+ "AED",
115
+ "AFA",
116
+ "AFN",
117
+ "ALK",
118
+ "ALL",
119
+ "AMD",
120
+ "ANG",
121
+ "AOA",
122
+ "AOK",
123
+ "AON",
124
+ "AOR",
125
+ "ARA",
126
+ "ARL",
127
+ "ARM",
128
+ "ARP",
129
+ "ARS",
130
+ "ATS",
131
+ "AUD",
132
+ "AWG",
133
+ "AZM",
134
+ "AZN",
135
+ "BAD",
136
+ "BAM",
137
+ "BAN",
138
+ "BBD",
139
+ "BDT",
140
+ "BEC",
141
+ "BEF",
142
+ "BEL",
143
+ "BGL",
144
+ "BGM",
145
+ "BGN",
146
+ "BGO",
147
+ "BHD",
148
+ "BIF",
149
+ "BMD",
150
+ "BND",
151
+ "BOB",
152
+ "BOL",
153
+ "BOP",
154
+ "BOV",
155
+ "BRB",
156
+ "BRC",
157
+ "BRE",
158
+ "BRL",
159
+ "BRN",
160
+ "BRR",
161
+ "BRZ",
162
+ "BSD",
163
+ "BTN",
164
+ "BUK",
165
+ "BWP",
166
+ "BYB",
167
+ "BYN",
168
+ "BYR",
169
+ "BZD",
170
+ "CAD",
171
+ "CDF",
172
+ "CHE",
173
+ "CHF",
174
+ "CHW",
175
+ "CLE",
176
+ "CLF",
177
+ "CLP",
178
+ "CNH",
179
+ "CNX",
180
+ "CNY",
181
+ "COP",
182
+ "COU",
183
+ "CRC",
184
+ "CSD",
185
+ "CSK",
186
+ "CUC",
187
+ "CUP",
188
+ "CVE",
189
+ "CYP",
190
+ "CZK",
191
+ "DDM",
192
+ "DEM",
193
+ "DJF",
194
+ "DKK",
195
+ "DOP",
196
+ "DZD",
197
+ "ECS",
198
+ "ECV",
199
+ "EEK",
200
+ "EGP",
201
+ "ERN",
202
+ "ESA",
203
+ "ESB",
204
+ "ESP",
205
+ "ETB",
206
+ "EUR",
207
+ "FIM",
208
+ "FJD",
209
+ "FKP",
210
+ "FRF",
211
+ "GBP",
212
+ "GEK",
213
+ "GEL",
214
+ "GHC",
215
+ "GHS",
216
+ "GIP",
217
+ "GMD",
218
+ "GNF",
219
+ "GNS",
220
+ "GQE",
221
+ "GRD",
222
+ "GTQ",
223
+ "GWE",
224
+ "GWP",
225
+ "GYD",
226
+ "HKD",
227
+ "HNL",
228
+ "HRD",
229
+ "HRK",
230
+ "HTG",
231
+ "HUF",
232
+ "IDR",
233
+ "IEP",
234
+ "ILP",
235
+ "ILR",
236
+ "ILS",
237
+ "INR",
238
+ "IQD",
239
+ "IRR",
240
+ "ISJ",
241
+ "ISK",
242
+ "ITL",
243
+ "JMD",
244
+ "JOD",
245
+ "JPY",
246
+ "KES",
247
+ "KGS",
248
+ "KHR",
249
+ "KMF",
250
+ "KPW",
251
+ "KRH",
252
+ "KRO",
253
+ "KRW",
254
+ "KWD",
255
+ "KYD",
256
+ "KZT",
257
+ "LAK",
258
+ "LBP",
259
+ "LKR",
260
+ "LRD",
261
+ "LSL",
262
+ "LTL",
263
+ "LTT",
264
+ "LUC",
265
+ "LUF",
266
+ "LUL",
267
+ "LVL",
268
+ "LVR",
269
+ "LYD",
270
+ "MAD",
271
+ "MAF",
272
+ "MCF",
273
+ "MDC",
274
+ "MDL",
275
+ "MGA",
276
+ "MGF",
277
+ "MKD",
278
+ "MKN",
279
+ "MLF",
280
+ "MMK",
281
+ "MNT",
282
+ "MOP",
283
+ "MRO",
284
+ "MRU",
285
+ "MTL",
286
+ "MTP",
287
+ "MUR",
288
+ "MVP",
289
+ "MVR",
290
+ "MWK",
291
+ "MXN",
292
+ "MXP",
293
+ "MXV",
294
+ "MYR",
295
+ "MZE",
296
+ "MZM",
297
+ "MZN",
298
+ "NAD",
299
+ "NGN",
300
+ "NIC",
301
+ "NIO",
302
+ "NLG",
303
+ "NOK",
304
+ "NPR",
305
+ "NZD",
306
+ "OMR",
307
+ "PAB",
308
+ "PEI",
309
+ "PEN",
310
+ "PES",
311
+ "PGK",
312
+ "PHP",
313
+ "PKR",
314
+ "PLN",
315
+ "PLZ",
316
+ "PTE",
317
+ "PYG",
318
+ "QAR",
319
+ "RHD",
320
+ "ROL",
321
+ "RON",
322
+ "RSD",
323
+ "RUB",
324
+ "RUR",
325
+ "RWF",
326
+ "SAR",
327
+ "SBD",
328
+ "SCR",
329
+ "SDD",
330
+ "SDG",
331
+ "SDP",
332
+ "SEK",
333
+ "SGD",
334
+ "SHP",
335
+ "SIT",
336
+ "SKK",
337
+ "SLE",
338
+ "SLL",
339
+ "SOS",
340
+ "SRD",
341
+ "SRG",
342
+ "SSP",
343
+ "STD",
344
+ "STN",
345
+ "SUR",
346
+ "SVC",
347
+ "SYP",
348
+ "SZL",
349
+ "THB",
350
+ "TJR",
351
+ "TJS",
352
+ "TMM",
353
+ "TMT",
354
+ "TND",
355
+ "TOP",
356
+ "TPE",
357
+ "TRL",
358
+ "TRY",
359
+ "TTD",
360
+ "TWD",
361
+ "TZS",
362
+ "UAH",
363
+ "UAK",
364
+ "UGS",
365
+ "UGX",
366
+ "USD",
367
+ "USN",
368
+ "USS",
369
+ "UYI",
370
+ "UYP",
371
+ "UYU",
372
+ "UYW",
373
+ "UZS",
374
+ "VEB",
375
+ "VED",
376
+ "VEF",
377
+ "VES",
378
+ "VND",
379
+ "VNN",
380
+ "VUV",
381
+ "WST",
382
+ "XAF",
383
+ "XAG",
384
+ "XAU",
385
+ "XBA",
386
+ "XBB",
387
+ "XBC",
388
+ "XBD",
389
+ "XCD",
390
+ "XCG",
391
+ "XDR",
392
+ "XEU",
393
+ "XFO",
394
+ "XFU",
395
+ "XOF",
396
+ "XPD",
397
+ "XPF",
398
+ "XPT",
399
+ "XRE",
400
+ "XSU",
401
+ "XTS",
402
+ "XUA",
403
+ "XXX",
404
+ "YDD",
405
+ "YER",
406
+ "YUD",
407
+ "YUM",
408
+ "YUN",
409
+ "YUR",
410
+ "ZAL",
411
+ "ZAR",
412
+ "ZMK",
413
+ "ZMW",
414
+ "ZRN",
415
+ "ZRZ",
416
+ "ZWD",
417
+ "ZWG",
418
+ "ZWL",
419
+ "ZWR"
420
+ ];
421
+ //#endregion
422
+ //#region packages/intl-supportedvaluesof/get-supported-currencies.ts
423
+ /**
424
+ * Implementation: Tests if a currency is supported by attempting to create
425
+ * a NumberFormat with that currency and verifying it was accepted.
426
+ *
427
+ * CLDR Data: Candidate values come from CLDR currency codes (ISO 4217)
428
+ */
429
+ function isSupportedCurrency(currency) {
430
+ try {
431
+ const format = createMemoizedNumberFormat("en", {
432
+ style: "currency",
433
+ currencyDisplay: "name",
434
+ currency
435
+ }).format(123);
436
+ if (format.substring(0, 3) !== currency && format.substring(format.length - 3) !== currency) return true;
437
+ } catch {}
438
+ return false;
439
+ }
440
+ /**
441
+ * ECMA-402 Spec: Returns supported currency identifiers
442
+ * ECMA-402 Spec: Results must be sorted lexicographically
443
+ *
444
+ * Implementation: Filters CLDR list against actual runtime support
445
+ */
446
+ function getSupportedCurrencies() {
447
+ const ATOZ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
448
+ const supportedCurrencies = [];
449
+ for (const currency of currencies) if (currency.length === 3) {
450
+ if (isSupportedCurrency(currency)) supportedCurrencies.push(currency);
451
+ } else if (currency.length === 5 && currency[3] === "~") {
452
+ const start = ATOZ.indexOf(currency[2]);
453
+ const end = ATOZ.indexOf(currency[4]);
454
+ for (let i = start; i <= end; i++) {
455
+ const currentCurrency = currency.substring(0, 2) + ATOZ[i];
456
+ if (isSupportedCurrency(currentCurrency)) supportedCurrencies.push(currentCurrency);
457
+ }
458
+ }
459
+ return supportedCurrencies.sort();
460
+ }
461
+ //#endregion
462
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.number@0.0.0/node_modules/@formatjs_generated/cldr.number/numbering-systems.js
463
+ const numberingSystemNames = [
464
+ "adlm",
465
+ "ahom",
466
+ "arab",
467
+ "arabext",
468
+ "armn",
469
+ "armnlow",
470
+ "bali",
471
+ "beng",
472
+ "bhks",
473
+ "brah",
474
+ "cakm",
475
+ "cham",
476
+ "cyrl",
477
+ "deva",
478
+ "diak",
479
+ "ethi",
480
+ "fullwide",
481
+ "gara",
482
+ "geor",
483
+ "gong",
484
+ "gonm",
485
+ "grek",
486
+ "greklow",
487
+ "gujr",
488
+ "gukh",
489
+ "guru",
490
+ "hanidays",
491
+ "hanidec",
492
+ "hans",
493
+ "hansfin",
494
+ "hant",
495
+ "hantfin",
496
+ "hebr",
497
+ "hmng",
498
+ "hmnp",
499
+ "java",
500
+ "jpan",
501
+ "jpanfin",
502
+ "jpanyear",
503
+ "kali",
504
+ "kawi",
505
+ "khmr",
506
+ "knda",
507
+ "krai",
508
+ "lana",
509
+ "lanatham",
510
+ "laoo",
511
+ "latn",
512
+ "lepc",
513
+ "limb",
514
+ "mathbold",
515
+ "mathdbl",
516
+ "mathmono",
517
+ "mathsanb",
518
+ "mathsans",
519
+ "mlym",
520
+ "modi",
521
+ "mong",
522
+ "mroo",
523
+ "mtei",
524
+ "mymr",
525
+ "mymrepka",
526
+ "mymrpao",
527
+ "mymrshan",
528
+ "mymrtlng",
529
+ "nagm",
530
+ "newa",
531
+ "nkoo",
532
+ "olck",
533
+ "onao",
534
+ "orya",
535
+ "osma",
536
+ "outlined",
537
+ "rohg",
538
+ "roman",
539
+ "romanlow",
540
+ "saur",
541
+ "segment",
542
+ "shrd",
543
+ "sind",
544
+ "sinh",
545
+ "sora",
546
+ "sund",
547
+ "sunu",
548
+ "takr",
549
+ "talu",
550
+ "taml",
551
+ "tamldec",
552
+ "telu",
553
+ "thai",
554
+ "tibt",
555
+ "tirh",
556
+ "tnsa",
557
+ "tols",
558
+ "vaii",
559
+ "wara",
560
+ "wcho"
561
+ ];
562
+ //#endregion
563
+ //#region packages/intl-supportedvaluesof/get-supported-numbering-systems.ts
564
+ /**
565
+ * Implementation: Tests if a numbering system is supported by attempting to create
566
+ * a NumberFormat with that numbering system and verifying it was accepted.
567
+ *
568
+ * CLDR Data: Candidate values come from CLDR numbering system types
569
+ */
570
+ function isSupportedNumberingSystem(system) {
571
+ try {
572
+ const numberFormat = createMemoizedNumberFormat(`en-u-nu-${system}`);
573
+ if (numberFormat.resolvedOptions().numberingSystem === system && system === "latn" || numberFormat.format(123) !== "123") return true;
574
+ } catch {}
575
+ return false;
576
+ }
577
+ /**
578
+ * ECMA-402 Spec: Returns supported numbering system identifiers
579
+ * ECMA-402 Spec: Results must be sorted lexicographically
580
+ *
581
+ * Implementation: Filters CLDR list against actual runtime support
582
+ */
583
+ function getSupportedNumberingSystems() {
584
+ return numberingSystemNames.filter(isSupportedNumberingSystem).sort();
585
+ }
586
+ //#endregion
587
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-values@0.0.0/node_modules/@formatjs_generated/cldr.supported-values/timezones.js
588
+ const timezones = [
589
+ "Africa/Abidjan",
590
+ "Africa/Accra",
591
+ "Africa/Addis_Ababa",
592
+ "Africa/Algiers",
593
+ "Africa/Asmara",
594
+ "Africa/Bamako",
595
+ "Africa/Bangui",
596
+ "Africa/Banjul",
597
+ "Africa/Bissau",
598
+ "Africa/Blantyre",
599
+ "Africa/Brazzaville",
600
+ "Africa/Bujumbura",
601
+ "Africa/Cairo",
602
+ "Africa/Casablanca",
603
+ "Africa/Ceuta",
604
+ "Africa/Conakry",
605
+ "Africa/Dakar",
606
+ "Africa/Dar_es_Salaam",
607
+ "Africa/Djibouti",
608
+ "Africa/Douala",
609
+ "Africa/El_Aaiun",
610
+ "Africa/Freetown",
611
+ "Africa/Gaborone",
612
+ "Africa/Harare",
613
+ "Africa/Johannesburg",
614
+ "Africa/Juba",
615
+ "Africa/Kampala",
616
+ "Africa/Khartoum",
617
+ "Africa/Kigali",
618
+ "Africa/Kinshasa",
619
+ "Africa/Lagos",
620
+ "Africa/Libreville",
621
+ "Africa/Lome",
622
+ "Africa/Luanda",
623
+ "Africa/Lubumbashi",
624
+ "Africa/Lusaka",
625
+ "Africa/Malabo",
626
+ "Africa/Maputo",
627
+ "Africa/Maseru",
628
+ "Africa/Mbabane",
629
+ "Africa/Mogadishu",
630
+ "Africa/Monrovia",
631
+ "Africa/Nairobi",
632
+ "Africa/Ndjamena",
633
+ "Africa/Niamey",
634
+ "Africa/Nouakchott",
635
+ "Africa/Ouagadougou",
636
+ "Africa/Porto-Novo",
637
+ "Africa/Sao_Tome",
638
+ "Africa/Tripoli",
639
+ "Africa/Tunis",
640
+ "Africa/Windhoek",
641
+ "America/Adak",
642
+ "America/Anchorage",
643
+ "America/Anguilla",
644
+ "America/Antigua",
645
+ "America/Araguaina",
646
+ "America/Argentina/Buenos_Aires",
647
+ "America/Argentina/Catamarca",
648
+ "America/Argentina/Cordoba",
649
+ "America/Argentina/Jujuy",
650
+ "America/Argentina/La_Rioja",
651
+ "America/Argentina/Mendoza",
652
+ "America/Argentina/Rio_Gallegos",
653
+ "America/Argentina/Salta",
654
+ "America/Argentina/San_Juan",
655
+ "America/Argentina/San_Luis",
656
+ "America/Argentina/Tucuman",
657
+ "America/Argentina/Ushuaia",
658
+ "America/Aruba",
659
+ "America/Asuncion",
660
+ "America/Atikokan",
661
+ "America/Bahia_Banderas",
662
+ "America/Bahia",
663
+ "America/Barbados",
664
+ "America/Belem",
665
+ "America/Belize",
666
+ "America/Blanc-Sablon",
667
+ "America/Boa_Vista",
668
+ "America/Bogota",
669
+ "America/Boise",
670
+ "America/Cambridge_Bay",
671
+ "America/Campo_Grande",
672
+ "America/Cancun",
673
+ "America/Caracas",
674
+ "America/Cayenne",
675
+ "America/Cayman",
676
+ "America/Chicago",
677
+ "America/Chihuahua",
678
+ "America/Ciudad_Juarez",
679
+ "America/Costa_Rica",
680
+ "America/Coyhaique",
681
+ "America/Creston",
682
+ "America/Cuiaba",
683
+ "America/Curacao",
684
+ "America/Danmarkshavn",
685
+ "America/Dawson_Creek",
686
+ "America/Dawson",
687
+ "America/Denver",
688
+ "America/Detroit",
689
+ "America/Dominica",
690
+ "America/Edmonton",
691
+ "America/Eirunepe",
692
+ "America/El_Salvador",
693
+ "America/Fort_Nelson",
694
+ "America/Fortaleza",
695
+ "America/Glace_Bay",
696
+ "America/Goose_Bay",
697
+ "America/Grand_Turk",
698
+ "America/Grenada",
699
+ "America/Guadeloupe",
700
+ "America/Guatemala",
701
+ "America/Guayaquil",
702
+ "America/Guyana",
703
+ "America/Halifax",
704
+ "America/Havana",
705
+ "America/Hermosillo",
706
+ "America/Indiana/Indianapolis",
707
+ "America/Indiana/Knox",
708
+ "America/Indiana/Marengo",
709
+ "America/Indiana/Petersburg",
710
+ "America/Indiana/Tell_City",
711
+ "America/Indiana/Vevay",
712
+ "America/Indiana/Vincennes",
713
+ "America/Indiana/Winamac",
714
+ "America/Inuvik",
715
+ "America/Iqaluit",
716
+ "America/Jamaica",
717
+ "America/Juneau",
718
+ "America/Kentucky/Louisville",
719
+ "America/Kentucky/Monticello",
720
+ "America/Kralendijk",
721
+ "America/La_Paz",
722
+ "America/Lima",
723
+ "America/Los_Angeles",
724
+ "America/Lower_Princes",
725
+ "America/Maceio",
726
+ "America/Managua",
727
+ "America/Manaus",
728
+ "America/Marigot",
729
+ "America/Martinique",
730
+ "America/Matamoros",
731
+ "America/Mazatlan",
732
+ "America/Menominee",
733
+ "America/Merida",
734
+ "America/Metlakatla",
735
+ "America/Mexico_City",
736
+ "America/Miquelon",
737
+ "America/Moncton",
738
+ "America/Monterrey",
739
+ "America/Montevideo",
740
+ "America/Montserrat",
741
+ "America/Nassau",
742
+ "America/New_York",
743
+ "America/Nipigon",
744
+ "America/Nome",
745
+ "America/Noronha",
746
+ "America/North_Dakota/Beulah",
747
+ "America/North_Dakota/Center",
748
+ "America/North_Dakota/New_Salem",
749
+ "America/Nuuk",
750
+ "America/Ojinaga",
751
+ "America/Panama",
752
+ "America/Pangnirtung",
753
+ "America/Paramaribo",
754
+ "America/Phoenix",
755
+ "America/Port_of_Spain",
756
+ "America/Port-au-Prince",
757
+ "America/Porto_Velho",
758
+ "America/Puerto_Rico",
759
+ "America/Punta_Arenas",
760
+ "America/Rainy_River",
761
+ "America/Rankin_Inlet",
762
+ "America/Recife",
763
+ "America/Regina",
764
+ "America/Resolute",
765
+ "America/Rio_Branco",
766
+ "America/Santarem",
767
+ "America/Santiago",
768
+ "America/Santo_Domingo",
769
+ "America/Sao_Paulo",
770
+ "America/Scoresbysund",
771
+ "America/Sitka",
772
+ "America/St_Barthelemy",
773
+ "America/St_Johns",
774
+ "America/St_Kitts",
775
+ "America/St_Lucia",
776
+ "America/St_Thomas",
777
+ "America/St_Vincent",
778
+ "America/Swift_Current",
779
+ "America/Tegucigalpa",
780
+ "America/Thule",
781
+ "America/Thunder_Bay",
782
+ "America/Tijuana",
783
+ "America/Toronto",
784
+ "America/Tortola",
785
+ "America/Vancouver",
786
+ "America/Whitehorse",
787
+ "America/Winnipeg",
788
+ "America/Yakutat",
789
+ "America/Yellowknife",
790
+ "Antarctica/Casey",
791
+ "Antarctica/Davis",
792
+ "Antarctica/DumontDUrville",
793
+ "Antarctica/Macquarie",
794
+ "Antarctica/Mawson",
795
+ "Antarctica/McMurdo",
796
+ "Antarctica/Palmer",
797
+ "Antarctica/Rothera",
798
+ "Antarctica/Syowa",
799
+ "Antarctica/Troll",
800
+ "Antarctica/Vostok",
801
+ "Arctic/Longyearbyen",
802
+ "Asia/Aden",
803
+ "Asia/Almaty",
804
+ "Asia/Amman",
805
+ "Asia/Anadyr",
806
+ "Asia/Aqtau",
807
+ "Asia/Aqtobe",
808
+ "Asia/Ashgabat",
809
+ "Asia/Atyrau",
810
+ "Asia/Baghdad",
811
+ "Asia/Bahrain",
812
+ "Asia/Baku",
813
+ "Asia/Bangkok",
814
+ "Asia/Barnaul",
815
+ "Asia/Beirut",
816
+ "Asia/Bishkek",
817
+ "Asia/Brunei",
818
+ "Asia/Chita",
819
+ "Asia/Choibalsan",
820
+ "Asia/Colombo",
821
+ "Asia/Damascus",
822
+ "Asia/Dhaka",
823
+ "Asia/Dili",
824
+ "Asia/Dubai",
825
+ "Asia/Dushanbe",
826
+ "Asia/Famagusta",
827
+ "Asia/Gaza",
828
+ "Asia/Hebron",
829
+ "Asia/Ho_Chi_Minh",
830
+ "Asia/Hong_Kong",
831
+ "Asia/Hovd",
832
+ "Asia/Irkutsk",
833
+ "Asia/Jakarta",
834
+ "Asia/Jayapura",
835
+ "Asia/Jerusalem",
836
+ "Asia/Kabul",
837
+ "Asia/Kamchatka",
838
+ "Asia/Karachi",
839
+ "Asia/Kathmandu",
840
+ "Asia/Khandyga",
841
+ "Asia/Kolkata",
842
+ "Asia/Krasnoyarsk",
843
+ "Asia/Kuala_Lumpur",
844
+ "Asia/Kuching",
845
+ "Asia/Kuwait",
846
+ "Asia/Macau",
847
+ "Asia/Magadan",
848
+ "Asia/Makassar",
849
+ "Asia/Manila",
850
+ "Asia/Muscat",
851
+ "Asia/Nicosia",
852
+ "Asia/Novokuznetsk",
853
+ "Asia/Novosibirsk",
854
+ "Asia/Omsk",
855
+ "Asia/Oral",
856
+ "Asia/Phnom_Penh",
857
+ "Asia/Pontianak",
858
+ "Asia/Pyongyang",
859
+ "Asia/Qatar",
860
+ "Asia/Qostanay",
861
+ "Asia/Qyzylorda",
862
+ "Asia/Riyadh",
863
+ "Asia/Sakhalin",
864
+ "Asia/Samarkand",
865
+ "Asia/Seoul",
866
+ "Asia/Shanghai",
867
+ "Asia/Singapore",
868
+ "Asia/Srednekolymsk",
869
+ "Asia/Taipei",
870
+ "Asia/Tashkent",
871
+ "Asia/Tbilisi",
872
+ "Asia/Tehran",
873
+ "Asia/Thimphu",
874
+ "Asia/Tokyo",
875
+ "Asia/Tomsk",
876
+ "Asia/Ulaanbaatar",
877
+ "Asia/Urumqi",
878
+ "Asia/Ust-Nera",
879
+ "Asia/Vientiane",
880
+ "Asia/Vladivostok",
881
+ "Asia/Yakutsk",
882
+ "Asia/Yangon",
883
+ "Asia/Yekaterinburg",
884
+ "Asia/Yerevan",
885
+ "Atlantic/Azores",
886
+ "Atlantic/Bermuda",
887
+ "Atlantic/Canary",
888
+ "Atlantic/Cape_Verde",
889
+ "Atlantic/Faroe",
890
+ "Atlantic/Madeira",
891
+ "Atlantic/Reykjavik",
892
+ "Atlantic/South_Georgia",
893
+ "Atlantic/St_Helena",
894
+ "Atlantic/Stanley",
895
+ "Australia/Adelaide",
896
+ "Australia/Brisbane",
897
+ "Australia/Broken_Hill",
898
+ "Australia/Currie",
899
+ "Australia/Darwin",
900
+ "Australia/Eucla",
901
+ "Australia/Hobart",
902
+ "Australia/Lindeman",
903
+ "Australia/Lord_Howe",
904
+ "Australia/Melbourne",
905
+ "Australia/Perth",
906
+ "Australia/Sydney",
907
+ "Europe/Amsterdam",
908
+ "Europe/Andorra",
909
+ "Europe/Astrakhan",
910
+ "Europe/Athens",
911
+ "Europe/Belgrade",
912
+ "Europe/Berlin",
913
+ "Europe/Bratislava",
914
+ "Europe/Brussels",
915
+ "Europe/Bucharest",
916
+ "Europe/Budapest",
917
+ "Europe/Busingen",
918
+ "Europe/Chisinau",
919
+ "Europe/Copenhagen",
920
+ "Europe/Dublin",
921
+ "Europe/Gibraltar",
922
+ "Europe/Guernsey",
923
+ "Europe/Helsinki",
924
+ "Europe/Isle_of_Man",
925
+ "Europe/Istanbul",
926
+ "Europe/Jersey",
927
+ "Europe/Kaliningrad",
928
+ "Europe/Kyiv",
929
+ "Europe/Kirov",
930
+ "Europe/Lisbon",
931
+ "Europe/Ljubljana",
932
+ "Europe/London",
933
+ "Europe/Luxembourg",
934
+ "Europe/Madrid",
935
+ "Europe/Malta",
936
+ "Europe/Mariehamn",
937
+ "Europe/Minsk",
938
+ "Europe/Monaco",
939
+ "Europe/Moscow",
940
+ "Europe/Oslo",
941
+ "Europe/Paris",
942
+ "Europe/Podgorica",
943
+ "Europe/Prague",
944
+ "Europe/Riga",
945
+ "Europe/Rome",
946
+ "Europe/Samara",
947
+ "Europe/San_Marino",
948
+ "Europe/Sarajevo",
949
+ "Europe/Saratov",
950
+ "Europe/Simferopol",
951
+ "Europe/Skopje",
952
+ "Europe/Sofia",
953
+ "Europe/Stockholm",
954
+ "Europe/Tallinn",
955
+ "Europe/Tirane",
956
+ "Europe/Ulyanovsk",
957
+ "Europe/Uzhgorod",
958
+ "Europe/Vaduz",
959
+ "Europe/Vatican",
960
+ "Europe/Vienna",
961
+ "Europe/Vilnius",
962
+ "Europe/Volgograd",
963
+ "Europe/Warsaw",
964
+ "Europe/Zagreb",
965
+ "Europe/Zaporozhye",
966
+ "Europe/Zurich",
967
+ "Indian/Antananarivo",
968
+ "Indian/Chagos",
969
+ "Indian/Christmas",
970
+ "Indian/Cocos",
971
+ "Indian/Comoro",
972
+ "Indian/Kerguelen",
973
+ "Indian/Mahe",
974
+ "Indian/Maldives",
975
+ "Indian/Mauritius",
976
+ "Indian/Mayotte",
977
+ "Indian/Reunion",
978
+ "Pacific/Apia",
979
+ "Pacific/Auckland",
980
+ "Pacific/Bougainville",
981
+ "Pacific/Chatham",
982
+ "Pacific/Chuuk",
983
+ "Pacific/Easter",
984
+ "Pacific/Efate",
985
+ "Pacific/Kanton",
986
+ "Pacific/Fakaofo",
987
+ "Pacific/Fiji",
988
+ "Pacific/Funafuti",
989
+ "Pacific/Galapagos",
990
+ "Pacific/Gambier",
991
+ "Pacific/Guadalcanal",
992
+ "Pacific/Guam",
993
+ "Pacific/Honolulu",
994
+ "Pacific/Kiritimati",
995
+ "Pacific/Kosrae",
996
+ "Pacific/Kwajalein",
997
+ "Pacific/Majuro",
998
+ "Pacific/Marquesas",
999
+ "Pacific/Midway",
1000
+ "Pacific/Nauru",
1001
+ "Pacific/Niue",
1002
+ "Pacific/Norfolk",
1003
+ "Pacific/Noumea",
1004
+ "Pacific/Pago_Pago",
1005
+ "Pacific/Palau",
1006
+ "Pacific/Pitcairn",
1007
+ "Pacific/Pohnpei",
1008
+ "Pacific/Port_Moresby",
1009
+ "Pacific/Rarotonga",
1010
+ "Pacific/Saipan",
1011
+ "Pacific/Tahiti",
1012
+ "Pacific/Tarawa",
1013
+ "Pacific/Tongatapu",
1014
+ "Pacific/Wake",
1015
+ "Pacific/Wallis"
1016
+ ];
1017
+ //#endregion
1018
+ //#region packages/intl-supportedvaluesof/get-supported-timezones.ts
1019
+ /**
1020
+ * Implementation: Tests if a timezone is supported by attempting to create
1021
+ * a DateTimeFormat with that timezone and verifying it was accepted.
1022
+ *
1023
+ * CLDR Data: Candidate values come from IANA Time Zone Database
1024
+ */
1025
+ function isSupportedTimeZone(timeZone) {
1026
+ try {
1027
+ return createMemoizedDateTimeFormat("en", { timeZone }).resolvedOptions().timeZone === timeZone;
1028
+ } catch {}
1029
+ return false;
1030
+ }
1031
+ /**
1032
+ * ECMA-402 Spec: Returns supported timezone identifiers
1033
+ * ECMA-402 Spec: Results must be sorted lexicographically
1034
+ *
1035
+ * Implementation: Filters CLDR list against actual runtime support
1036
+ */
1037
+ function getSupportedTimeZones() {
1038
+ return timezones.filter(isSupportedTimeZone).sort();
1039
+ }
1040
+ //#endregion
1041
+ //#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-values@0.0.0/node_modules/@formatjs_generated/cldr.supported-values/units.js
1042
+ const units = [
1043
+ "degree",
1044
+ "acre",
1045
+ "hectare",
1046
+ "percent",
1047
+ "bit",
1048
+ "byte",
1049
+ "gigabit",
1050
+ "gigabyte",
1051
+ "kilobit",
1052
+ "kilobyte",
1053
+ "megabit",
1054
+ "megabyte",
1055
+ "petabyte",
1056
+ "terabit",
1057
+ "terabyte",
1058
+ "day",
1059
+ "hour",
1060
+ "millisecond",
1061
+ "minute",
1062
+ "month",
1063
+ "second",
1064
+ "week",
1065
+ "year",
1066
+ "centimeter",
1067
+ "foot",
1068
+ "inch",
1069
+ "kilometer",
1070
+ "meter",
1071
+ "mile-scandinavian",
1072
+ "mile",
1073
+ "millimeter",
1074
+ "yard",
1075
+ "gram",
1076
+ "kilogram",
1077
+ "ounce",
1078
+ "pound",
1079
+ "stone",
1080
+ "celsius",
1081
+ "fahrenheit",
1082
+ "fluid-ounce",
1083
+ "gallon",
1084
+ "liter",
1085
+ "milliliter"
1086
+ ];
1087
+ //#endregion
1088
+ //#region packages/intl-supportedvaluesof/get-supported-units.ts
1089
+ /**
1090
+ * Implementation: Tests if a unit is supported by attempting to create
1091
+ * a NumberFormat with that unit and verifying it was accepted.
1092
+ *
1093
+ * CLDR Data: Candidate values come from CLDR unit types
1094
+ */
1095
+ function isSupportedUnit(unit) {
1096
+ try {
1097
+ return createMemoizedNumberFormat("en", {
1098
+ style: "unit",
1099
+ unit
1100
+ }).resolvedOptions().unit === unit;
1101
+ } catch {}
1102
+ return false;
1103
+ }
1104
+ /**
1105
+ * ECMA-402 Spec: Returns supported unit identifiers
1106
+ * ECMA-402 Spec: Results must be sorted lexicographically
1107
+ *
1108
+ * Implementation: Filters CLDR list against actual runtime support
1109
+ */
1110
+ function getSupportedUnits() {
1111
+ return units.filter(isSupportedUnit).sort();
1112
+ }
1113
+ //#endregion
1114
+ //#region packages/intl-supportedvaluesof/should-polyfill.ts
1115
+ function shouldPolyfill() {
1116
+ return !("supportedValuesOf" in Intl);
1117
+ }
1118
+ //#endregion
1119
+ //#region packages/intl-supportedvaluesof/index.ts
1120
+ /**
1121
+ * ECMA-402 Spec: Intl.supportedValuesOf(key)
1122
+ * https://tc39.es/ecma402/#sec-intl.supportedvaluesof
1123
+ *
1124
+ * Returns an array containing the supported calendar, collation, currency,
1125
+ * numbering systems, time zone, or unit values supported by the implementation.
1126
+ *
1127
+ * Implementation: We validate candidate values from CLDR against the actual
1128
+ * Intl formatters to determine runtime support rather than using static lists.
1129
+ * This ensures accuracy across different JavaScript engines and runtimes.
1130
+ *
1131
+ * @param key - The category of values to return
1132
+ * @returns A sorted array of unique string values
1133
+ */
1134
+ function supportedValuesOf(key) {
1135
+ switch (key) {
1136
+ case "calendar": return getSupportedCalendars();
1137
+ case "collation": return getSupportedCollations();
1138
+ case "currency": return getSupportedCurrencies();
1139
+ case "numberingSystem": return getSupportedNumberingSystems();
1140
+ case "timeZone": return getSupportedTimeZones();
1141
+ case "unit": return getSupportedUnits();
1142
+ default: throw RangeError("Invalid key: " + key);
1143
+ }
1144
+ }
1145
+ //#endregion
1146
+ export { shouldPolyfill, supportedValuesOf };
1147
+
1148
+ //# sourceMappingURL=index.js.map