@formatjs/ecma402-abstract 1.4.0 → 1.5.0

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 (73) hide show
  1. package/BestAvailableLocale.d.ts +1 -1
  2. package/BestAvailableLocale.d.ts.map +1 -1
  3. package/BestAvailableLocale.js +1 -1
  4. package/BestFitMatcher.d.ts +1 -1
  5. package/BestFitMatcher.d.ts.map +1 -1
  6. package/BestFitMatcher.js +35 -12
  7. package/CanonicalizeLocaleList.d.ts +1 -1
  8. package/CanonicalizeLocaleList.d.ts.map +1 -1
  9. package/DateTimeFormat/InitializeDateTimeFormat.d.ts +1 -1
  10. package/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +1 -1
  11. package/DisplayNames/CanonicalCodeForDisplayNames.d.ts +1 -1
  12. package/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +1 -1
  13. package/LookupMatcher.d.ts +1 -1
  14. package/LookupMatcher.d.ts.map +1 -1
  15. package/LookupSupportedLocales.d.ts +1 -1
  16. package/LookupSupportedLocales.d.ts.map +1 -1
  17. package/NumberFormat/InitializeNumberFormat.d.ts +1 -1
  18. package/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  19. package/NumberFormat/InitializeNumberFormat.js +2 -11
  20. package/PluralRules/InitializePluralRules.d.ts +1 -1
  21. package/PluralRules/InitializePluralRules.d.ts.map +1 -1
  22. package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +1 -1
  23. package/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +1 -1
  24. package/RelativeTimeFormat/InitializeRelativeTimeFormat.js +2 -2
  25. package/ResolveLocale.d.ts +1 -1
  26. package/ResolveLocale.d.ts.map +1 -1
  27. package/SupportedLocales.d.ts +1 -1
  28. package/SupportedLocales.d.ts.map +1 -1
  29. package/data.d.ts +0 -5
  30. package/data.d.ts.map +1 -1
  31. package/data.js +1 -25
  32. package/index.d.ts +1 -1
  33. package/index.d.ts.map +1 -1
  34. package/index.js +1 -3
  35. package/lib/BestAvailableLocale.d.ts +1 -1
  36. package/lib/BestAvailableLocale.d.ts.map +1 -1
  37. package/lib/BestAvailableLocale.js +1 -1
  38. package/lib/BestFitMatcher.d.ts +1 -1
  39. package/lib/BestFitMatcher.d.ts.map +1 -1
  40. package/lib/BestFitMatcher.js +35 -12
  41. package/lib/CanonicalizeLocaleList.d.ts +1 -1
  42. package/lib/CanonicalizeLocaleList.d.ts.map +1 -1
  43. package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts +1 -1
  44. package/lib/DateTimeFormat/InitializeDateTimeFormat.d.ts.map +1 -1
  45. package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts +1 -1
  46. package/lib/DisplayNames/CanonicalCodeForDisplayNames.d.ts.map +1 -1
  47. package/lib/LookupMatcher.d.ts +1 -1
  48. package/lib/LookupMatcher.d.ts.map +1 -1
  49. package/lib/LookupSupportedLocales.d.ts +1 -1
  50. package/lib/LookupSupportedLocales.d.ts.map +1 -1
  51. package/lib/NumberFormat/InitializeNumberFormat.d.ts +1 -1
  52. package/lib/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  53. package/lib/NumberFormat/InitializeNumberFormat.js +2 -11
  54. package/lib/PluralRules/InitializePluralRules.d.ts +1 -1
  55. package/lib/PluralRules/InitializePluralRules.d.ts.map +1 -1
  56. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts +1 -1
  57. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.d.ts.map +1 -1
  58. package/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.js +2 -2
  59. package/lib/ResolveLocale.d.ts +1 -1
  60. package/lib/ResolveLocale.d.ts.map +1 -1
  61. package/lib/SupportedLocales.d.ts +1 -1
  62. package/lib/SupportedLocales.d.ts.map +1 -1
  63. package/lib/data.d.ts +0 -5
  64. package/lib/data.d.ts.map +1 -1
  65. package/lib/data.js +1 -23
  66. package/lib/index.d.ts +1 -1
  67. package/lib/index.d.ts.map +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/types/core.d.ts +2 -2
  70. package/lib/types/core.d.ts.map +1 -1
  71. package/package.json +1 -1
  72. package/types/core.d.ts +2 -2
  73. package/types/core.d.ts.map +1 -1
@@ -3,5 +3,5 @@
3
3
  * @param availableLocales
4
4
  * @param locale
5
5
  */
6
- export declare function BestAvailableLocale(availableLocales: string[], locale: string): string | undefined;
6
+ export declare function BestAvailableLocale(availableLocales: Set<String>, locale: string): string | undefined;
7
7
  //# sourceMappingURL=BestAvailableLocale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BestAvailableLocale.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/BestAvailableLocale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,sBAgBf"}
1
+ {"version":3,"file":"BestAvailableLocale.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/BestAvailableLocale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,MAAM,EAAE,MAAM,sBAgBf"}
@@ -9,7 +9,7 @@ exports.BestAvailableLocale = void 0;
9
9
  function BestAvailableLocale(availableLocales, locale) {
10
10
  var candidate = locale;
11
11
  while (true) {
12
- if (~availableLocales.indexOf(candidate)) {
12
+ if (availableLocales.has(candidate)) {
13
13
  return candidate;
14
14
  }
15
15
  var pos = candidate.lastIndexOf('-');
@@ -5,5 +5,5 @@ import { LookupMatcherResult } from './types/core';
5
5
  * @param requestedLocales
6
6
  * @param getDefaultLocale
7
7
  */
8
- export declare function BestFitMatcher(availableLocales: string[], requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
8
+ export declare function BestFitMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
9
  //# sourceMappingURL=BestFitMatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
1
+ {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAiDrB"}
package/BestFitMatcher.js CHANGED
@@ -10,20 +10,43 @@ var utils_1 = require("./utils");
10
10
  * @param getDefaultLocale
11
11
  */
12
12
  function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
13
- var result = { locale: '' };
13
+ var minimizedAvailableLocaleMap = {};
14
+ var minimizedAvailableLocales = new Set();
15
+ availableLocales.forEach(function (locale) {
16
+ var minimizedLocale = new Intl.Locale(locale)
17
+ .minimize()
18
+ .toString();
19
+ minimizedAvailableLocaleMap[minimizedLocale] = locale;
20
+ minimizedAvailableLocales.add(minimizedLocale);
21
+ });
22
+ var foundLocale;
14
23
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
15
- var locale = requestedLocales_1[_i];
16
- var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, '');
17
- var availableLocale = BestAvailableLocale_1.BestAvailableLocale(availableLocales, noExtensionLocale);
18
- if (availableLocale) {
19
- result.locale = availableLocale;
20
- if (locale !== noExtensionLocale) {
21
- result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
22
- }
23
- return result;
24
+ var l = requestedLocales_1[_i];
25
+ if (foundLocale) {
26
+ break;
24
27
  }
28
+ var noExtensionLocale = l.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, '');
29
+ if (availableLocales.has(noExtensionLocale)) {
30
+ foundLocale = noExtensionLocale;
31
+ break;
32
+ }
33
+ if (minimizedAvailableLocales.has(noExtensionLocale)) {
34
+ foundLocale = minimizedAvailableLocaleMap[noExtensionLocale];
35
+ break;
36
+ }
37
+ var locale = new Intl.Locale(noExtensionLocale);
38
+ var maximizedRequestedLocale = locale.maximize().toString();
39
+ var minimizedRequestedLocale = locale.minimize().toString();
40
+ // Check minimized locale
41
+ if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {
42
+ foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale];
43
+ break;
44
+ }
45
+ // Lookup algo on maximized locale
46
+ foundLocale = BestAvailableLocale_1.BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
25
47
  }
26
- result.locale = getDefaultLocale();
27
- return result;
48
+ return {
49
+ locale: foundLocale || getDefaultLocale(),
50
+ };
28
51
  }
29
52
  exports.BestFitMatcher = BestFitMatcher;
@@ -2,5 +2,5 @@
2
2
  * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
3
3
  * @param locales
4
4
  */
5
- export declare function CanonicalizeLocaleList(locales?: string | string[]): any;
5
+ export declare function CanonicalizeLocaleList(locales?: string | string[]): string[];
6
6
  //# sourceMappingURL=CanonicalizeLocaleList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAGjE"}
1
+ {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5E"}
@@ -7,7 +7,7 @@ import { DateTimeFormatOptions, IntlDateTimeFormatInternal, DateTimeFormatLocale
7
7
  */
8
8
  export declare function InitializeDateTimeFormat(dtf: Intl.DateTimeFormat, locales: string | string[] | undefined, opts: DateTimeFormatOptions | undefined, { getInternalSlots, availableLocales, localeData, getDefaultLocale, getDefaultTimeZone, relevantExtensionKeys, tzData, uppercaseLinks, }: {
9
9
  getInternalSlots(dtf: Intl.DateTimeFormat): IntlDateTimeFormatInternal;
10
- availableLocales: string[];
10
+ availableLocales: Set<string>;
11
11
  getDefaultLocale(): string;
12
12
  getDefaultTimeZone(): string;
13
13
  relevantExtensionKeys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAuD5B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA4OrB"}
1
+ {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAuD5B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA4OrB"}
@@ -1,2 +1,2 @@
1
- export declare function CanonicalCodeForDisplayNames(type: 'language' | 'region' | 'script' | 'currency', code: string): any;
1
+ export declare function CanonicalCodeForDisplayNames(type: 'language' | 'region' | 'script' | 'currency', code: string): string;
2
2
  //# sourceMappingURL=CanonicalCodeForDisplayNames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalCodeForDisplayNames.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/DisplayNames/CanonicalCodeForDisplayNames.ts"],"names":[],"mappings":"AAcA,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EACnD,IAAI,EAAE,MAAM,OAsBb"}
1
+ {"version":3,"file":"CanonicalCodeForDisplayNames.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/DisplayNames/CanonicalCodeForDisplayNames.ts"],"names":[],"mappings":"AAcA,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EACnD,IAAI,EAAE,MAAM,UAsBb"}
@@ -5,5 +5,5 @@ import { LookupMatcherResult } from './types/core';
5
5
  * @param requestedLocales
6
6
  * @param getDefaultLocale
7
7
  */
8
- export declare function LookupMatcher(availableLocales: string[], requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
8
+ export declare function LookupMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
9
  //# sourceMappingURL=LookupMatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
1
+ {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
@@ -3,5 +3,5 @@
3
3
  * @param availableLocales
4
4
  * @param requestedLocales
5
5
  */
6
- export declare function LookupSupportedLocales(availableLocales: string[], requestedLocales: string[]): string[];
6
+ export declare function LookupSupportedLocales(availableLocales: Set<string>, requestedLocales: string[]): string[];
7
7
  //# sourceMappingURL=LookupSupportedLocales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LookupSupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/LookupSupportedLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,YAiB3B"}
1
+ {"version":3,"file":"LookupSupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/LookupSupportedLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,YAiB3B"}
@@ -5,7 +5,7 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
5
5
  export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
6
6
  getInternalSlots(nf: Intl.NumberFormat): NumberFormatInternal;
7
7
  localeData: Record<string, NumberFormatLocaleInternalData | undefined>;
8
- availableLocales: string[];
8
+ availableLocales: Set<string>;
9
9
  numberingSystemNames: string[];
10
10
  getDefaultLocale(): string;
11
11
  currencyDigitsData: Record<string, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAoBzB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
1
+ {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAUzB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
@@ -9,15 +9,6 @@ var SetNumberFormatUnitOptions_1 = require("./SetNumberFormatUnitOptions");
9
9
  var CurrencyDigits_1 = require("./CurrencyDigits");
10
10
  var SetNumberFormatDigitOptions_1 = require("./SetNumberFormatDigitOptions");
11
11
  var utils_1 = require("../utils");
12
- /**
13
- * Chop off the unicode extension from the locale string.
14
- */
15
- function removeUnicodeExtensionFromLocale(canonicalLocale) {
16
- var extensionIndex = canonicalLocale.indexOf('-u-');
17
- return extensionIndex >= 0
18
- ? canonicalLocale.slice(0, extensionIndex)
19
- : canonicalLocale;
20
- }
21
12
  /**
22
13
  * https://tc39.es/ecma402/#sec-initializenumberformat
23
14
  */
@@ -40,8 +31,8 @@ function InitializeNumberFormat(nf, locales, opts, _a) {
40
31
  var r = ResolveLocale_1.ResolveLocale(availableLocales, requestedLocales, opt,
41
32
  // [[RelevantExtensionKeys]] slot, which is a constant
42
33
  ['nu'], localeData, getDefaultLocale);
43
- var dataLocaleData = localeData[removeUnicodeExtensionFromLocale(r.locale)];
44
- utils_1.invariant(!!dataLocaleData, "Missing locale data for " + r.locale);
34
+ var dataLocaleData = localeData[r.dataLocale];
35
+ utils_1.invariant(!!dataLocaleData, "Missing locale data for " + r.dataLocale);
45
36
  var internalSlots = getInternalSlots(nf);
46
37
  internalSlots.locale = r.locale;
47
38
  internalSlots.dataLocale = r.dataLocale;
@@ -1,6 +1,6 @@
1
1
  import { PluralRulesInternal, PluralRulesData } from '../types/plural-rules';
2
2
  export declare function InitializePluralRules(pl: Intl.PluralRules, locales: string | string[] | undefined, options: Intl.PluralRulesOptions | undefined, { availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, getInternalSlots, }: {
3
- availableLocales: string[];
3
+ availableLocales: Set<string>;
4
4
  relevantExtensionKeys: string[];
5
5
  localeData: Record<string, PluralRulesData | undefined>;
6
6
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO3E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAC5C,EACE,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
1
+ {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO3E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAC5C,EACE,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
@@ -1,7 +1,7 @@
1
1
  import { RelativeTimeFormat, IntlRelativeTimeFormatOptions, RelativeTimeFormatInternal, LocaleFieldsData } from '../types/relative-time';
2
2
  export declare function InitializeRelativeTimeFormat(rtf: RelativeTimeFormat, locales: string | string[] | undefined, options: IntlRelativeTimeFormatOptions | undefined, { getInternalSlots, availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, }: {
3
3
  getInternalSlots(rtf: RelativeTimeFormat): RelativeTimeFormatInternal;
4
- availableLocales: string[];
4
+ availableLocales: Set<string>;
5
5
  relevantExtensionKeys: string[];
6
6
  localeData: Record<string, LocaleFieldsData | undefined>;
7
7
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
1
+ {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
@@ -28,8 +28,8 @@ function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
28
28
  internalSlots.locale = locale;
29
29
  internalSlots.style = GetOption_1.GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
30
30
  internalSlots.numeric = GetOption_1.GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
31
- var fields = localeData[locale];
32
- utils_1.invariant(!!fields, "Missing locale data for " + locale);
31
+ var fields = localeData[r.dataLocale];
32
+ utils_1.invariant(!!fields, "Missing locale data for " + r.dataLocale);
33
33
  internalSlots.fields = fields;
34
34
  internalSlots.numberFormat = new Intl.NumberFormat(locales);
35
35
  internalSlots.pluralRules = new Intl.PluralRules(locales);
@@ -8,7 +8,7 @@ export interface ResolveLocaleResult {
8
8
  */
9
9
  export declare function ResolveLocale<K extends string, D extends {
10
10
  [k in K]: any;
11
- }>(availableLocales: string[], requestedLocales: string[], options: {
11
+ }>(availableLocales: Set<string>, requestedLocales: string[], options: {
12
12
  localeMatcher: string;
13
13
  [k: string]: string;
14
14
  }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
1
+ {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
@@ -4,7 +4,7 @@
4
4
  * @param requestedLocales
5
5
  * @param options
6
6
  */
7
- export declare function SupportedLocales(availableLocales: string[], requestedLocales: string[], options?: {
7
+ export declare function SupportedLocales(availableLocales: Set<string>, requestedLocales: string[], options?: {
8
8
  localeMatcher?: 'best fit' | 'lookup';
9
9
  }): string[];
10
10
  //# sourceMappingURL=SupportedLocales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/SupportedLocales.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE;IAAC,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CAAC,GAChD,MAAM,EAAE,CAgBV"}
1
+ {"version":3,"file":"SupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/SupportedLocales.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE;IAAC,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CAAC,GAChD,MAAM,EAAE,CAgBV"}
package/data.d.ts CHANGED
@@ -1,11 +1,6 @@
1
- import { LocaleData } from './types/core';
2
- export declare function getLocaleHierarchy(locale: string): string[];
3
1
  declare class MissingLocaleDataError extends Error {
4
2
  type: string;
5
3
  }
6
4
  export declare function isMissingLocaleDataError(e: Error): e is MissingLocaleDataError;
7
- export declare function unpackData<T extends Record<string, any>>(locale: string, localeData: LocaleData<T>,
8
- /** By default shallow merge the dictionaries. */
9
- reducer?: (all: T, d: T) => T): T;
10
5
  export {};
11
6
  //# sourceMappingURL=data.d.ts.map
package/data.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3D;AAED,cAAM,sBAAuB,SAAQ,KAAK;IACjC,IAAI,SAAyB;CACrC;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,KAAK,GACP,CAAC,IAAI,sBAAsB,CAE7B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACzB,iDAAiD;AACjD,OAAO,GAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAgC,GAC1D,CAAC,CAcH"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/data.ts"],"names":[],"mappings":"AAAA,cAAM,sBAAuB,SAAQ,KAAK;IACjC,IAAI,SAAyB;CACrC;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,KAAK,GACP,CAAC,IAAI,sBAAsB,CAE7B"}
package/data.js CHANGED
@@ -1,16 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unpackData = exports.isMissingLocaleDataError = exports.getLocaleHierarchy = void 0;
3
+ exports.isMissingLocaleDataError = void 0;
4
4
  var tslib_1 = require("tslib");
5
- function getLocaleHierarchy(locale) {
6
- var results = [locale];
7
- var localeParts = locale.split('-');
8
- for (var i = localeParts.length; i > 1; i--) {
9
- results.push(localeParts.slice(0, i - 1).join('-'));
10
- }
11
- return results;
12
- }
13
- exports.getLocaleHierarchy = getLocaleHierarchy;
14
5
  var MissingLocaleDataError = /** @class */ (function (_super) {
15
6
  tslib_1.__extends(MissingLocaleDataError, _super);
16
7
  function MissingLocaleDataError() {
@@ -24,18 +15,3 @@ function isMissingLocaleDataError(e) {
24
15
  return e.type === 'MISSING_LOCALE_DATA';
25
16
  }
26
17
  exports.isMissingLocaleDataError = isMissingLocaleDataError;
27
- function unpackData(locale, localeData,
28
- /** By default shallow merge the dictionaries. */
29
- reducer) {
30
- if (reducer === void 0) { reducer = function (all, d) { return (tslib_1.__assign(tslib_1.__assign({}, all), d)); }; }
31
- var localeHierarchy = getLocaleHierarchy(locale);
32
- var dataToMerge = localeHierarchy
33
- .map(function (l) { return localeData.data[l]; })
34
- .filter(Boolean);
35
- if (!dataToMerge.length) {
36
- throw new MissingLocaleDataError("Missing locale data for \"" + locale + "\", lookup hierarchy: " + localeHierarchy.join(', '));
37
- }
38
- dataToMerge.reverse();
39
- return dataToMerge.reduce(reducer, {});
40
- }
41
- exports.unpackData = unpackData;
package/index.d.ts CHANGED
@@ -44,7 +44,7 @@ export { default as _formatToParts } from './NumberFormat/format_to_parts';
44
44
  export { DATE_TIME_PROPS } from './DateTimeFormat/utils';
45
45
  export { parseDateTimeSkeleton } from './DateTimeFormat/skeleton';
46
46
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, LiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
47
- export { getLocaleHierarchy, unpackData, isMissingLocaleDataError } from './data';
47
+ export { isMissingLocaleDataError } from './data';
48
48
  export * from './types/relative-time';
49
49
  export * from './types/date-time';
50
50
  export * from './types/list';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAChF,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,cAAc,OAAO,CAAC"}
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invariant = exports.isMissingLocaleDataError = exports.unpackData = exports.getLocaleHierarchy = exports.defineProperty = exports.getMagnitude = exports.setMultiInternalSlots = exports.setInternalSlot = exports.isLiteralPart = exports.getMultiInternalSlots = exports.getInternalSlot = exports.parseDateTimeSkeleton = exports.DATE_TIME_PROPS = exports._formatToParts = exports.BestFitFormatMatcher = void 0;
3
+ exports.invariant = exports.isMissingLocaleDataError = exports.defineProperty = exports.getMagnitude = exports.setMultiInternalSlots = exports.setInternalSlot = exports.isLiteralPart = exports.getMultiInternalSlots = exports.getInternalSlot = exports.parseDateTimeSkeleton = exports.DATE_TIME_PROPS = exports._formatToParts = exports.BestFitFormatMatcher = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var BestFitFormatMatcher_1 = require("./DateTimeFormat/BestFitFormatMatcher");
6
6
  Object.defineProperty(exports, "BestFitFormatMatcher", { enumerable: true, get: function () { return BestFitFormatMatcher_1.BestFitFormatMatcher; } });
@@ -60,8 +60,6 @@ Object.defineProperty(exports, "setMultiInternalSlots", { enumerable: true, get:
60
60
  Object.defineProperty(exports, "getMagnitude", { enumerable: true, get: function () { return utils_2.getMagnitude; } });
61
61
  Object.defineProperty(exports, "defineProperty", { enumerable: true, get: function () { return utils_2.defineProperty; } });
62
62
  var data_1 = require("./data");
63
- Object.defineProperty(exports, "getLocaleHierarchy", { enumerable: true, get: function () { return data_1.getLocaleHierarchy; } });
64
- Object.defineProperty(exports, "unpackData", { enumerable: true, get: function () { return data_1.unpackData; } });
65
63
  Object.defineProperty(exports, "isMissingLocaleDataError", { enumerable: true, get: function () { return data_1.isMissingLocaleDataError; } });
66
64
  tslib_1.__exportStar(require("./types/relative-time"), exports);
67
65
  tslib_1.__exportStar(require("./types/date-time"), exports);
@@ -3,5 +3,5 @@
3
3
  * @param availableLocales
4
4
  * @param locale
5
5
  */
6
- export declare function BestAvailableLocale(availableLocales: string[], locale: string): string | undefined;
6
+ export declare function BestAvailableLocale(availableLocales: Set<String>, locale: string): string | undefined;
7
7
  //# sourceMappingURL=BestAvailableLocale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BestAvailableLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/BestAvailableLocale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,sBAgBf"}
1
+ {"version":3,"file":"BestAvailableLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/BestAvailableLocale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,MAAM,EAAE,MAAM,sBAgBf"}
@@ -6,7 +6,7 @@
6
6
  export function BestAvailableLocale(availableLocales, locale) {
7
7
  var candidate = locale;
8
8
  while (true) {
9
- if (~availableLocales.indexOf(candidate)) {
9
+ if (availableLocales.has(candidate)) {
10
10
  return candidate;
11
11
  }
12
12
  var pos = candidate.lastIndexOf('-');
@@ -5,5 +5,5 @@ import { LookupMatcherResult } from './types/core';
5
5
  * @param requestedLocales
6
6
  * @param getDefaultLocale
7
7
  */
8
- export declare function BestFitMatcher(availableLocales: string[], requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
8
+ export declare function BestFitMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
9
  //# sourceMappingURL=BestFitMatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
1
+ {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAiDrB"}
@@ -7,19 +7,42 @@ import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';
7
7
  * @param getDefaultLocale
8
8
  */
9
9
  export function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
10
- var result = { locale: '' };
10
+ var minimizedAvailableLocaleMap = {};
11
+ var minimizedAvailableLocales = new Set();
12
+ availableLocales.forEach(function (locale) {
13
+ var minimizedLocale = new Intl.Locale(locale)
14
+ .minimize()
15
+ .toString();
16
+ minimizedAvailableLocaleMap[minimizedLocale] = locale;
17
+ minimizedAvailableLocales.add(minimizedLocale);
18
+ });
19
+ var foundLocale;
11
20
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
12
- var locale = requestedLocales_1[_i];
13
- var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
14
- var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
15
- if (availableLocale) {
16
- result.locale = availableLocale;
17
- if (locale !== noExtensionLocale) {
18
- result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
19
- }
20
- return result;
21
+ var l = requestedLocales_1[_i];
22
+ if (foundLocale) {
23
+ break;
21
24
  }
25
+ var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
26
+ if (availableLocales.has(noExtensionLocale)) {
27
+ foundLocale = noExtensionLocale;
28
+ break;
29
+ }
30
+ if (minimizedAvailableLocales.has(noExtensionLocale)) {
31
+ foundLocale = minimizedAvailableLocaleMap[noExtensionLocale];
32
+ break;
33
+ }
34
+ var locale = new Intl.Locale(noExtensionLocale);
35
+ var maximizedRequestedLocale = locale.maximize().toString();
36
+ var minimizedRequestedLocale = locale.minimize().toString();
37
+ // Check minimized locale
38
+ if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {
39
+ foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale];
40
+ break;
41
+ }
42
+ // Lookup algo on maximized locale
43
+ foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
22
44
  }
23
- result.locale = getDefaultLocale();
24
- return result;
45
+ return {
46
+ locale: foundLocale || getDefaultLocale(),
47
+ };
25
48
  }
@@ -2,5 +2,5 @@
2
2
  * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
3
3
  * @param locales
4
4
  */
5
- export declare function CanonicalizeLocaleList(locales?: string | string[]): any;
5
+ export declare function CanonicalizeLocaleList(locales?: string | string[]): string[];
6
6
  //# sourceMappingURL=CanonicalizeLocaleList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAGjE"}
1
+ {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5E"}
@@ -7,7 +7,7 @@ import { DateTimeFormatOptions, IntlDateTimeFormatInternal, DateTimeFormatLocale
7
7
  */
8
8
  export declare function InitializeDateTimeFormat(dtf: Intl.DateTimeFormat, locales: string | string[] | undefined, opts: DateTimeFormatOptions | undefined, { getInternalSlots, availableLocales, localeData, getDefaultLocale, getDefaultTimeZone, relevantExtensionKeys, tzData, uppercaseLinks, }: {
9
9
  getInternalSlots(dtf: Intl.DateTimeFormat): IntlDateTimeFormatInternal;
10
- availableLocales: string[];
10
+ availableLocales: Set<string>;
11
11
  getDefaultLocale(): string;
12
12
  getDefaultTimeZone(): string;
13
13
  relevantExtensionKeys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAuD5B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA4OrB"}
1
+ {"version":3,"file":"InitializeDateTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DateTimeFormat/InitializeDateTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAuD5B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,EACE,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,EACN,cAAc,GACf,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,0BAA0B,CAAC;IACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GACA,IAAI,CAAC,cAAc,CA4OrB"}
@@ -1,2 +1,2 @@
1
- export declare function CanonicalCodeForDisplayNames(type: 'language' | 'region' | 'script' | 'currency', code: string): any;
1
+ export declare function CanonicalCodeForDisplayNames(type: 'language' | 'region' | 'script' | 'currency', code: string): string;
2
2
  //# sourceMappingURL=CanonicalCodeForDisplayNames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanonicalCodeForDisplayNames.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DisplayNames/CanonicalCodeForDisplayNames.ts"],"names":[],"mappings":"AAcA,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EACnD,IAAI,EAAE,MAAM,OAsBb"}
1
+ {"version":3,"file":"CanonicalCodeForDisplayNames.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/DisplayNames/CanonicalCodeForDisplayNames.ts"],"names":[],"mappings":"AAcA,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EACnD,IAAI,EAAE,MAAM,UAsBb"}
@@ -5,5 +5,5 @@ import { LookupMatcherResult } from './types/core';
5
5
  * @param requestedLocales
6
6
  * @param getDefaultLocale
7
7
  */
8
- export declare function LookupMatcher(availableLocales: string[], requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
8
+ export declare function LookupMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
9
  //# sourceMappingURL=LookupMatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
1
+ {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
@@ -3,5 +3,5 @@
3
3
  * @param availableLocales
4
4
  * @param requestedLocales
5
5
  */
6
- export declare function LookupSupportedLocales(availableLocales: string[], requestedLocales: string[]): string[];
6
+ export declare function LookupSupportedLocales(availableLocales: Set<string>, requestedLocales: string[]): string[];
7
7
  //# sourceMappingURL=LookupSupportedLocales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LookupSupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/LookupSupportedLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,YAiB3B"}
1
+ {"version":3,"file":"LookupSupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/LookupSupportedLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,YAiB3B"}
@@ -5,7 +5,7 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
5
5
  export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
6
6
  getInternalSlots(nf: Intl.NumberFormat): NumberFormatInternal;
7
7
  localeData: Record<string, NumberFormatLocaleInternalData | undefined>;
8
- availableLocales: string[];
8
+ availableLocales: Set<string>;
9
9
  numberingSystemNames: string[];
10
10
  getDefaultLocale(): string;
11
11
  currencyDigitsData: Record<string, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAoBzB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
1
+ {"version":3,"file":"InitializeNumberFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/NumberFormat/InitializeNumberFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AAUzB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,EACE,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE;IACD,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAC;IACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,IAAI,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,qBAgHF"}
@@ -6,15 +6,6 @@ import { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';
6
6
  import { CurrencyDigits } from './CurrencyDigits';
7
7
  import { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';
8
8
  import { invariant } from '../utils';
9
- /**
10
- * Chop off the unicode extension from the locale string.
11
- */
12
- function removeUnicodeExtensionFromLocale(canonicalLocale) {
13
- var extensionIndex = canonicalLocale.indexOf('-u-');
14
- return extensionIndex >= 0
15
- ? canonicalLocale.slice(0, extensionIndex)
16
- : canonicalLocale;
17
- }
18
9
  /**
19
10
  * https://tc39.es/ecma402/#sec-initializenumberformat
20
11
  */
@@ -37,8 +28,8 @@ export function InitializeNumberFormat(nf, locales, opts, _a) {
37
28
  var r = ResolveLocale(availableLocales, requestedLocales, opt,
38
29
  // [[RelevantExtensionKeys]] slot, which is a constant
39
30
  ['nu'], localeData, getDefaultLocale);
40
- var dataLocaleData = localeData[removeUnicodeExtensionFromLocale(r.locale)];
41
- invariant(!!dataLocaleData, "Missing locale data for " + r.locale);
31
+ var dataLocaleData = localeData[r.dataLocale];
32
+ invariant(!!dataLocaleData, "Missing locale data for " + r.dataLocale);
42
33
  var internalSlots = getInternalSlots(nf);
43
34
  internalSlots.locale = r.locale;
44
35
  internalSlots.dataLocale = r.dataLocale;
@@ -1,6 +1,6 @@
1
1
  import { PluralRulesInternal, PluralRulesData } from '../types/plural-rules';
2
2
  export declare function InitializePluralRules(pl: Intl.PluralRules, locales: string | string[] | undefined, options: Intl.PluralRulesOptions | undefined, { availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, getInternalSlots, }: {
3
- availableLocales: string[];
3
+ availableLocales: Set<string>;
4
4
  relevantExtensionKeys: string[];
5
5
  localeData: Record<string, PluralRulesData | undefined>;
6
6
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO3E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAC5C,EACE,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
1
+ {"version":3,"file":"InitializePluralRules.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/PluralRules/InitializePluralRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO3E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,EAC5C,EACE,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,EAAE;IACD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;CAC7D,oBAkCF"}
@@ -1,7 +1,7 @@
1
1
  import { RelativeTimeFormat, IntlRelativeTimeFormatOptions, RelativeTimeFormatInternal, LocaleFieldsData } from '../types/relative-time';
2
2
  export declare function InitializeRelativeTimeFormat(rtf: RelativeTimeFormat, locales: string | string[] | undefined, options: IntlRelativeTimeFormatOptions | undefined, { getInternalSlots, availableLocales, relevantExtensionKeys, localeData, getDefaultLocale, }: {
3
3
  getInternalSlots(rtf: RelativeTimeFormat): RelativeTimeFormatInternal;
4
- availableLocales: string[];
4
+ availableLocales: Set<string>;
5
5
  relevantExtensionKeys: string[];
6
6
  localeData: Record<string, LocaleFieldsData | undefined>;
7
7
  getDefaultLocale(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
1
+ {"version":3,"file":"InitializeRelativeTimeFormat.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/RelativeTimeFormat/InitializeRelativeTimeFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,6BAA6B,GAAG,SAAS,EAClD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,0BAA0B,CAAC;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,IAAI,MAAM,CAAC;CAC5B,sBA2DF"}
@@ -25,8 +25,8 @@ export function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
25
25
  internalSlots.locale = locale;
26
26
  internalSlots.style = GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
27
27
  internalSlots.numeric = GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
28
- var fields = localeData[locale];
29
- invariant(!!fields, "Missing locale data for " + locale);
28
+ var fields = localeData[r.dataLocale];
29
+ invariant(!!fields, "Missing locale data for " + r.dataLocale);
30
30
  internalSlots.fields = fields;
31
31
  internalSlots.numberFormat = new Intl.NumberFormat(locales);
32
32
  internalSlots.pluralRules = new Intl.PluralRules(locales);
@@ -8,7 +8,7 @@ export interface ResolveLocaleResult {
8
8
  */
9
9
  export declare function ResolveLocale<K extends string, D extends {
10
10
  [k in K]: any;
11
- }>(availableLocales: string[], requestedLocales: string[], options: {
11
+ }>(availableLocales: Set<string>, requestedLocales: string[], options: {
12
12
  localeMatcher: string;
13
13
  [k: string]: string;
14
14
  }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
1
+ {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAE,CAAC,IAAI,CAAC,GAAG,GAAG;CAAC,EACvE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EACrD,qBAAqB,EAAE,CAAC,EAAE,EAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EACzC,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA6ErB"}
@@ -4,7 +4,7 @@
4
4
  * @param requestedLocales
5
5
  * @param options
6
6
  */
7
- export declare function SupportedLocales(availableLocales: string[], requestedLocales: string[], options?: {
7
+ export declare function SupportedLocales(availableLocales: Set<string>, requestedLocales: string[], options?: {
8
8
  localeMatcher?: 'best fit' | 'lookup';
9
9
  }): string[];
10
10
  //# sourceMappingURL=SupportedLocales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/SupportedLocales.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE;IAAC,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CAAC,GAChD,MAAM,EAAE,CAgBV"}
1
+ {"version":3,"file":"SupportedLocales.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/SupportedLocales.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE;IAAC,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAA;CAAC,GAChD,MAAM,EAAE,CAgBV"}
package/lib/data.d.ts CHANGED
@@ -1,11 +1,6 @@
1
- import { LocaleData } from './types/core';
2
- export declare function getLocaleHierarchy(locale: string): string[];
3
1
  declare class MissingLocaleDataError extends Error {
4
2
  type: string;
5
3
  }
6
4
  export declare function isMissingLocaleDataError(e: Error): e is MissingLocaleDataError;
7
- export declare function unpackData<T extends Record<string, any>>(locale: string, localeData: LocaleData<T>,
8
- /** By default shallow merge the dictionaries. */
9
- reducer?: (all: T, d: T) => T): T;
10
5
  export {};
11
6
  //# sourceMappingURL=data.d.ts.map
package/lib/data.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3D;AAED,cAAM,sBAAuB,SAAQ,KAAK;IACjC,IAAI,SAAyB;CACrC;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,KAAK,GACP,CAAC,IAAI,sBAAsB,CAE7B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACzB,iDAAiD;AACjD,OAAO,GAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAgC,GAC1D,CAAC,CAcH"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/data.ts"],"names":[],"mappings":"AAAA,cAAM,sBAAuB,SAAQ,KAAK;IACjC,IAAI,SAAyB;CACrC;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,KAAK,GACP,CAAC,IAAI,sBAAsB,CAE7B"}
package/lib/data.js CHANGED
@@ -1,12 +1,4 @@
1
- import { __assign, __extends } from "tslib";
2
- export function getLocaleHierarchy(locale) {
3
- var results = [locale];
4
- var localeParts = locale.split('-');
5
- for (var i = localeParts.length; i > 1; i--) {
6
- results.push(localeParts.slice(0, i - 1).join('-'));
7
- }
8
- return results;
9
- }
1
+ import { __extends } from "tslib";
10
2
  var MissingLocaleDataError = /** @class */ (function (_super) {
11
3
  __extends(MissingLocaleDataError, _super);
12
4
  function MissingLocaleDataError() {
@@ -19,17 +11,3 @@ var MissingLocaleDataError = /** @class */ (function (_super) {
19
11
  export function isMissingLocaleDataError(e) {
20
12
  return e.type === 'MISSING_LOCALE_DATA';
21
13
  }
22
- export function unpackData(locale, localeData,
23
- /** By default shallow merge the dictionaries. */
24
- reducer) {
25
- if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }
26
- var localeHierarchy = getLocaleHierarchy(locale);
27
- var dataToMerge = localeHierarchy
28
- .map(function (l) { return localeData.data[l]; })
29
- .filter(Boolean);
30
- if (!dataToMerge.length) {
31
- throw new MissingLocaleDataError("Missing locale data for \"" + locale + "\", lookup hierarchy: " + localeHierarchy.join(', '));
32
- }
33
- dataToMerge.reverse();
34
- return dataToMerge.reduce(reducer, {});
35
- }
package/lib/index.d.ts CHANGED
@@ -44,7 +44,7 @@ export { default as _formatToParts } from './NumberFormat/format_to_parts';
44
44
  export { DATE_TIME_PROPS } from './DateTimeFormat/utils';
45
45
  export { parseDateTimeSkeleton } from './DateTimeFormat/skeleton';
46
46
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, LiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
47
- export { getLocaleHierarchy, unpackData, isMissingLocaleDataError } from './data';
47
+ export { isMissingLocaleDataError } from './data';
48
48
  export * from './types/relative-time';
49
49
  export * from './types/date-time';
50
50
  export * from './types/list';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAE,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAChF,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,cAAc,OAAO,CAAC"}
package/lib/index.js CHANGED
@@ -44,7 +44,7 @@ export { default as _formatToParts } from './NumberFormat/format_to_parts';
44
44
  export { DATE_TIME_PROPS } from './DateTimeFormat/utils';
45
45
  export { parseDateTimeSkeleton } from './DateTimeFormat/skeleton';
46
46
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
47
- export { getLocaleHierarchy, unpackData, isMissingLocaleDataError } from './data';
47
+ export { isMissingLocaleDataError } from './data';
48
48
  export * from './types/relative-time';
49
49
  export * from './types/date-time';
50
50
  export * from './types/list';
@@ -1,7 +1,7 @@
1
1
  export declare type Locale = string;
2
2
  export interface LocaleData<T> {
3
- data: Record<Locale, T>;
4
- availableLocales: string[];
3
+ data: T;
4
+ locale: Locale;
5
5
  }
6
6
  export interface LookupMatcherResult {
7
7
  locale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/types/core.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/types/core.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/ecma402-abstract",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "A collection of implementation for ECMAScript abstract operations",
5
5
  "keywords": [
6
6
  "intl",
package/types/core.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export declare type Locale = string;
2
2
  export interface LocaleData<T> {
3
- data: Record<Locale, T>;
4
- availableLocales: string[];
3
+ data: T;
4
+ locale: Locale;
5
5
  }
6
6
  export interface LookupMatcherResult {
7
7
  locale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/types/core.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/types/core.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}