@formatjs/ecma402-abstract 1.9.3 → 1.9.7

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 (61) hide show
  1. package/NumberFormat/InitializeNumberFormat.d.ts +2 -2
  2. package/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  3. package/NumberFormat/InitializeNumberFormat.js +2 -2
  4. package/NumberFormat/digit-mapping.generated.d.ts +2 -0
  5. package/NumberFormat/digit-mapping.generated.d.ts.map +1 -0
  6. package/NumberFormat/digit-mapping.generated.js +4 -0
  7. package/NumberFormat/format_to_parts.js +2 -3
  8. package/SupportedLocales.js +3 -3
  9. package/index.d.ts +0 -1
  10. package/index.d.ts.map +1 -1
  11. package/index.js +0 -1
  12. package/lib/NumberFormat/InitializeNumberFormat.d.ts +2 -2
  13. package/lib/NumberFormat/InitializeNumberFormat.d.ts.map +1 -1
  14. package/lib/NumberFormat/InitializeNumberFormat.js +1 -1
  15. package/lib/NumberFormat/digit-mapping.generated.d.ts +2 -0
  16. package/lib/NumberFormat/digit-mapping.generated.d.ts.map +1 -0
  17. package/lib/NumberFormat/digit-mapping.generated.js +1 -0
  18. package/lib/NumberFormat/format_to_parts.js +1 -1
  19. package/lib/SupportedLocales.js +1 -1
  20. package/lib/index.d.ts +0 -1
  21. package/lib/index.d.ts.map +1 -1
  22. package/lib/index.js +0 -1
  23. package/package.json +2 -1
  24. package/BestAvailableLocale.d.ts +0 -7
  25. package/BestAvailableLocale.d.ts.map +0 -1
  26. package/BestAvailableLocale.js +0 -25
  27. package/BestFitMatcher.d.ts +0 -9
  28. package/BestFitMatcher.d.ts.map +0 -1
  29. package/BestFitMatcher.js +0 -52
  30. package/LookupMatcher.d.ts +0 -9
  31. package/LookupMatcher.d.ts.map +0 -1
  32. package/LookupMatcher.js +0 -29
  33. package/LookupSupportedLocales.d.ts +0 -7
  34. package/LookupSupportedLocales.d.ts.map +0 -1
  35. package/LookupSupportedLocales.js +0 -23
  36. package/NumberFormat/digit-mapping.json +0 -1
  37. package/ResolveLocale.d.ts +0 -15
  38. package/ResolveLocale.d.ts.map +0 -1
  39. package/ResolveLocale.js +0 -78
  40. package/UnicodeExtensionValue.d.ts +0 -7
  41. package/UnicodeExtensionValue.d.ts.map +0 -1
  42. package/UnicodeExtensionValue.js +0 -50
  43. package/lib/BestAvailableLocale.d.ts +0 -7
  44. package/lib/BestAvailableLocale.d.ts.map +0 -1
  45. package/lib/BestAvailableLocale.js +0 -21
  46. package/lib/BestFitMatcher.d.ts +0 -9
  47. package/lib/BestFitMatcher.d.ts.map +0 -1
  48. package/lib/BestFitMatcher.js +0 -48
  49. package/lib/LookupMatcher.d.ts +0 -9
  50. package/lib/LookupMatcher.d.ts.map +0 -1
  51. package/lib/LookupMatcher.js +0 -25
  52. package/lib/LookupSupportedLocales.d.ts +0 -7
  53. package/lib/LookupSupportedLocales.d.ts.map +0 -1
  54. package/lib/LookupSupportedLocales.js +0 -19
  55. package/lib/NumberFormat/digit-mapping.json +0 -1
  56. package/lib/ResolveLocale.d.ts +0 -15
  57. package/lib/ResolveLocale.d.ts.map +0 -1
  58. package/lib/ResolveLocale.js +0 -74
  59. package/lib/UnicodeExtensionValue.d.ts +0 -7
  60. package/lib/UnicodeExtensionValue.d.ts.map +0 -1
  61. package/lib/UnicodeExtensionValue.js +0 -46
@@ -2,11 +2,11 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
2
2
  /**
3
3
  * https://tc39.es/ecma402/#sec-initializenumberformat
4
4
  */
5
- export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
5
+ export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | ReadonlyArray<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
8
  availableLocales: Set<string>;
9
- numberingSystemNames: string[];
9
+ numberingSystemNames: ReadonlyArray<string>;
10
10
  getDefaultLocale(): string;
11
11
  currencyDigitsData: Record<string, number>;
12
12
  }): Intl.NumberFormat;
@@ -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,CAAA;AAUxB;;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,CAAA;IAC7D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAA;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,gBAAgB,IAAI,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C,qBA+GF"}
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,CAAA;AAUxB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EACnD,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,CAAA;IAC7D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAA;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,gBAAgB,IAAI,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C,qBA+GF"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InitializeNumberFormat = void 0;
4
4
  var CanonicalizeLocaleList_1 = require("../CanonicalizeLocaleList");
5
5
  var GetOption_1 = require("../GetOption");
6
- var ResolveLocale_1 = require("../ResolveLocale");
6
+ var intl_localematcher_1 = require("@formatjs/intl-localematcher");
7
7
  var SetNumberFormatUnitOptions_1 = require("./SetNumberFormatUnitOptions");
8
8
  var CurrencyDigits_1 = require("./CurrencyDigits");
9
9
  var SetNumberFormatDigitOptions_1 = require("./SetNumberFormatDigitOptions");
@@ -28,7 +28,7 @@ function InitializeNumberFormat(nf, locales, opts, _a) {
28
28
  throw RangeError("Invalid numberingSystems: " + numberingSystem);
29
29
  }
30
30
  opt.nu = numberingSystem;
31
- var r = ResolveLocale_1.ResolveLocale(availableLocales, requestedLocales, opt,
31
+ var r = intl_localematcher_1.ResolveLocale(availableLocales, requestedLocales, opt,
32
32
  // [[RelevantExtensionKeys]] slot, which is a constant
33
33
  ['nu'], localeData, getDefaultLocale);
34
34
  var dataLocaleData = localeData[r.dataLocale];
@@ -0,0 +1,2 @@
1
+ export declare const digitMapping: Record<string, ReadonlyArray<string>>;
2
+ //# sourceMappingURL=digit-mapping.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digit-mapping.generated.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/NumberFormat/digit-mapping.generated.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAA67G,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.digitMapping = void 0;
4
+ exports.digitMapping = { "adlm": ["𞥐", "𞥑", "𞥒", "𞥓", "𞥔", "𞥕", "𞥖", "𞥗", "𞥘", "𞥙"], "ahom": ["𑜰", "𑜱", "𑜲", "𑜳", "𑜴", "𑜵", "𑜶", "𑜷", "𑜸", "𑜹"], "arab": ["٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"], "arabext": ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"], "bali": ["᭐", "᭑", "᭒", "᭓", "᭔", "᭕", "᭖", "᭗", "᭘", "᭙"], "beng": ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"], "bhks": ["𑱐", "𑱑", "𑱒", "𑱓", "𑱔", "𑱕", "𑱖", "𑱗", "𑱘", "𑱙"], "brah": ["𑁦", "𑁧", "𑁨", "𑁩", "𑁪", "𑁫", "𑁬", "𑁭", "𑁮", "𑁯"], "cakm": ["𑄶", "𑄷", "𑄸", "𑄹", "𑄺", "𑄻", "𑄼", "𑄽", "𑄾", "𑄿"], "cham": ["꩐", "꩑", "꩒", "꩓", "꩔", "꩕", "꩖", "꩗", "꩘", "꩙"], "deva": ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"], "diak": ["𑥐", "𑥑", "𑥒", "𑥓", "𑥔", "𑥕", "𑥖", "𑥗", "𑥘", "𑥙"], "fullwide": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], "gong": ["𑶠", "𑶡", "𑶢", "𑶣", "𑶤", "𑶥", "𑶦", "𑶧", "𑶨", "𑶩"], "gonm": ["𑵐", "𑵑", "𑵒", "𑵓", "𑵔", "𑵕", "𑵖", "𑵗", "𑵘", "𑵙"], "gujr": ["૦", "૧", "૨", "૩", "૪", "૫", "૬", "૭", "૮", "૯"], "guru": ["੦", "੧", "੨", "੩", "੪", "੫", "੬", "੭", "੮", "੯"], "hanidec": ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"], "hmng": ["𖭐", "𖭑", "𖭒", "𖭓", "𖭔", "𖭕", "𖭖", "𖭗", "𖭘", "𖭙"], "hmnp": ["𞅀", "𞅁", "𞅂", "𞅃", "𞅄", "𞅅", "𞅆", "𞅇", "𞅈", "𞅉"], "java": ["꧐", "꧑", "꧒", "꧓", "꧔", "꧕", "꧖", "꧗", "꧘", "꧙"], "kali": ["꤀", "꤁", "꤂", "꤃", "꤄", "꤅", "꤆", "꤇", "꤈", "꤉"], "khmr": ["០", "១", "២", "៣", "៤", "៥", "៦", "៧", "៨", "៩"], "knda": ["೦", "೧", "೨", "೩", "೪", "೫", "೬", "೭", "೮", "೯"], "lana": ["᪀", "᪁", "᪂", "᪃", "᪄", "᪅", "᪆", "᪇", "᪈", "᪉"], "lanatham": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "laoo": ["໐", "໑", "໒", "໓", "໔", "໕", "໖", "໗", "໘", "໙"], "lepc": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "limb": ["᥆", "᥇", "᥈", "᥉", "᥊", "᥋", "᥌", "᥍", "᥎", "᥏"], "mathbold": ["𝟎", "𝟏", "𝟐", "𝟑", "𝟒", "𝟓", "𝟔", "𝟕", "𝟖", "𝟗"], "mathdbl": ["𝟘", "𝟙", "𝟚", "𝟛", "𝟜", "𝟝", "𝟞", "𝟟", "𝟠", "𝟡"], "mathmono": ["𝟶", "𝟷", "𝟸", "𝟹", "𝟺", "𝟻", "𝟼", "𝟽", "𝟾", "𝟿"], "mathsanb": ["𝟬", "𝟭", "𝟮", "𝟯", "𝟰", "𝟱", "𝟲", "𝟳", "𝟴", "𝟵"], "mathsans": ["𝟢", "𝟣", "𝟤", "𝟥", "𝟦", "𝟧", "𝟨", "𝟩", "𝟪", "𝟫"], "mlym": ["൦", "൧", "൨", "൩", "൪", "൫", "൬", "൭", "൮", "൯"], "modi": ["𑙐", "𑙑", "𑙒", "𑙓", "𑙔", "𑙕", "𑙖", "𑙗", "𑙘", "𑙙"], "mong": ["᠐", "᠑", "᠒", "᠓", "᠔", "᠕", "᠖", "᠗", "᠘", "᠙"], "mroo": ["𖩠", "𖩡", "𖩢", "𖩣", "𖩤", "𖩥", "𖩦", "𖩧", "𖩨", "𖩩"], "mtei": ["꯰", "꯱", "꯲", "꯳", "꯴", "꯵", "꯶", "꯷", "꯸", "꯹"], "mymr": ["၀", "၁", "၂", "၃", "၄", "၅", "၆", "၇", "၈", "၉"], "mymrshan": ["႐", "႑", "႒", "႓", "႔", "႕", "႖", "႗", "႘", "႙"], "mymrtlng": ["꧰", "꧱", "꧲", "꧳", "꧴", "꧵", "꧶", "꧷", "꧸", "꧹"], "newa": ["𑑐", "𑑑", "𑑒", "𑑓", "𑑔", "𑑕", "𑑖", "𑑗", "𑑘", "𑑙"], "nkoo": ["߀", "߁", "߂", "߃", "߄", "߅", "߆", "߇", "߈", "߉"], "olck": ["᱐", "᱑", "᱒", "᱓", "᱔", "᱕", "᱖", "᱗", "᱘", "᱙"], "orya": ["୦", "୧", "୨", "୩", "୪", "୫", "୬", "୭", "୮", "୯"], "osma": ["𐒠", "𐒡", "𐒢", "𐒣", "𐒤", "𐒥", "𐒦", "𐒧", "𐒨", "𐒩"], "rohg": ["𐴰", "𐴱", "𐴲", "𐴳", "𐴴", "𐴵", "𐴶", "𐴷", "𐴸", "𐴹"], "saur": ["꣐", "꣑", "꣒", "꣓", "꣔", "꣕", "꣖", "꣗", "꣘", "꣙"], "segment": ["🯰", "🯱", "🯲", "🯳", "🯴", "🯵", "🯶", "🯷", "🯸", "🯹"], "shrd": ["𑇐", "𑇑", "𑇒", "𑇓", "𑇔", "𑇕", "𑇖", "𑇗", "𑇘", "𑇙"], "sind": ["𑋰", "𑋱", "𑋲", "𑋳", "𑋴", "𑋵", "𑋶", "𑋷", "𑋸", "𑋹"], "sinh": ["෦", "෧", "෨", "෩", "෪", "෫", "෬", "෭", "෮", "෯"], "sora": ["𑃰", "𑃱", "𑃲", "𑃳", "𑃴", "𑃵", "𑃶", "𑃷", "𑃸", "𑃹"], "sund": ["᮰", "᮱", "᮲", "᮳", "᮴", "᮵", "᮶", "᮷", "᮸", "᮹"], "takr": ["𑛀", "𑛁", "𑛂", "𑛃", "𑛄", "𑛅", "𑛆", "𑛇", "𑛈", "𑛉"], "talu": ["᧐", "᧑", "᧒", "᧓", "᧔", "᧕", "᧖", "᧗", "᧘", "᧙"], "tamldec": ["௦", "௧", "௨", "௩", "௪", "௫", "௬", "௭", "௮", "௯"], "telu": ["౦", "౧", "౨", "౩", "౪", "౫", "౬", "౭", "౮", "౯"], "thai": ["๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"], "tibt": ["༠", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩"], "tirh": ["𑓐", "𑓑", "𑓒", "𑓓", "𑓔", "𑓕", "𑓖", "𑓗", "𑓘", "𑓙"], "vaii": ["ᘠ", "ᘡ", "ᘢ", "ᘣ", "ᘤ", "ᘥ", "ᘦ", "ᘧ", "ᘨ", "ᘩ"], "wara": ["𑣠", "𑣡", "𑣢", "𑣣", "𑣤", "𑣥", "𑣦", "𑣧", "𑣨", "𑣩"], "wcho": ["𞋰", "𞋱", "𞋲", "𞋳", "𞋴", "𞋵", "𞋶", "𞋷", "𞋸", "𞋹"] };
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
3
  var ToRawFixed_1 = require("./ToRawFixed");
5
- var digitMapping = tslib_1.__importStar(require("./digit-mapping.json"));
4
+ var digit_mapping_generated_1 = require("./digit-mapping.generated");
6
5
  var regex_generated_1 = require("../regex.generated");
7
6
  // This is from: unicode-12.1.0/General_Category/Symbol/regex.js
8
7
  // IE11 does not support unicode flag, otherwise this is just /\p{S}/u.
@@ -273,7 +272,7 @@ decimalNumberPattern) {
273
272
  else if (!isFinite(x)) {
274
273
  return [{ type: 'infinity', value: n }];
275
274
  }
276
- var digitReplacementTable = digitMapping[numberingSystem];
275
+ var digitReplacementTable = digit_mapping_generated_1.digitMapping[numberingSystem];
277
276
  if (digitReplacementTable) {
278
277
  n = n.replace(/\d/g, function (digit) { return digitReplacementTable[+digit] || digit; });
279
278
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SupportedLocales = void 0;
4
4
  var _262_1 = require("./262");
5
5
  var GetOption_1 = require("./GetOption");
6
- var LookupSupportedLocales_1 = require("./LookupSupportedLocales");
6
+ var intl_localematcher_1 = require("@formatjs/intl-localematcher");
7
7
  /**
8
8
  * https://tc39.es/ecma402/#sec-supportedlocales
9
9
  * @param availableLocales
@@ -17,8 +17,8 @@ function SupportedLocales(availableLocales, requestedLocales, options) {
17
17
  matcher = GetOption_1.GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');
18
18
  }
19
19
  if (matcher === 'best fit') {
20
- return LookupSupportedLocales_1.LookupSupportedLocales(availableLocales, requestedLocales);
20
+ return intl_localematcher_1.LookupSupportedLocales(availableLocales, requestedLocales);
21
21
  }
22
- return LookupSupportedLocales_1.LookupSupportedLocales(availableLocales, requestedLocales);
22
+ return intl_localematcher_1.LookupSupportedLocales(availableLocales, requestedLocales);
23
23
  }
24
24
  exports.SupportedLocales = SupportedLocales;
package/index.d.ts CHANGED
@@ -21,7 +21,6 @@ export * from './NumberFormat/ToRawFixed';
21
21
  export * from './NumberFormat/ToRawPrecision';
22
22
  export { default as _formatToParts } from './NumberFormat/format_to_parts';
23
23
  export * from './PartitionPattern';
24
- export * from './ResolveLocale';
25
24
  export * from './SupportedLocales';
26
25
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
27
26
  export type { LiteralPart } from './utils';
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,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4CAA4C,CAAA;AAC1D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAA;AACxE,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,YAAY,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AAExC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACjC,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4CAA4C,CAAA;AAC1D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAA;AACxE,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,YAAY,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AAExC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACjC,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,cAAc,OAAO,CAAA"}
package/index.js CHANGED
@@ -26,7 +26,6 @@ tslib_1.__exportStar(require("./NumberFormat/ToRawPrecision"), exports);
26
26
  var format_to_parts_1 = require("./NumberFormat/format_to_parts");
27
27
  Object.defineProperty(exports, "_formatToParts", { enumerable: true, get: function () { return tslib_1.__importDefault(format_to_parts_1).default; } });
28
28
  tslib_1.__exportStar(require("./PartitionPattern"), exports);
29
- tslib_1.__exportStar(require("./ResolveLocale"), exports);
30
29
  tslib_1.__exportStar(require("./SupportedLocales"), exports);
31
30
  var utils_1 = require("./utils");
32
31
  Object.defineProperty(exports, "getInternalSlot", { enumerable: true, get: function () { return utils_1.getInternalSlot; } });
@@ -2,11 +2,11 @@ import { NumberFormatInternal, NumberFormatOptions, NumberFormatLocaleInternalDa
2
2
  /**
3
3
  * https://tc39.es/ecma402/#sec-initializenumberformat
4
4
  */
5
- export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | string[] | undefined, opts: NumberFormatOptions | undefined, { getInternalSlots, localeData, availableLocales, numberingSystemNames, getDefaultLocale, currencyDigitsData, }: {
5
+ export declare function InitializeNumberFormat(nf: Intl.NumberFormat, locales: string | ReadonlyArray<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
8
  availableLocales: Set<string>;
9
- numberingSystemNames: string[];
9
+ numberingSystemNames: ReadonlyArray<string>;
10
10
  getDefaultLocale(): string;
11
11
  currencyDigitsData: Record<string, number>;
12
12
  }): Intl.NumberFormat;
@@ -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,CAAA;AAUxB;;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,CAAA;IAC7D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAA;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,gBAAgB,IAAI,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C,qBA+GF"}
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,CAAA;AAUxB;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EACnD,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,CAAA;IAC7D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,CAAC,CAAA;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,gBAAgB,IAAI,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC3C,qBA+GF"}
@@ -1,6 +1,6 @@
1
1
  import { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';
2
2
  import { GetOption } from '../GetOption';
3
- import { ResolveLocale } from '../ResolveLocale';
3
+ import { ResolveLocale } from '@formatjs/intl-localematcher';
4
4
  import { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';
5
5
  import { CurrencyDigits } from './CurrencyDigits';
6
6
  import { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';
@@ -0,0 +1,2 @@
1
+ export declare const digitMapping: Record<string, ReadonlyArray<string>>;
2
+ //# sourceMappingURL=digit-mapping.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digit-mapping.generated.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ecma402-abstract/NumberFormat/digit-mapping.generated.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAA67G,CAAC"}
@@ -0,0 +1 @@
1
+ export var digitMapping = { "adlm": ["𞥐", "𞥑", "𞥒", "𞥓", "𞥔", "𞥕", "𞥖", "𞥗", "𞥘", "𞥙"], "ahom": ["𑜰", "𑜱", "𑜲", "𑜳", "𑜴", "𑜵", "𑜶", "𑜷", "𑜸", "𑜹"], "arab": ["٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"], "arabext": ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"], "bali": ["᭐", "᭑", "᭒", "᭓", "᭔", "᭕", "᭖", "᭗", "᭘", "᭙"], "beng": ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"], "bhks": ["𑱐", "𑱑", "𑱒", "𑱓", "𑱔", "𑱕", "𑱖", "𑱗", "𑱘", "𑱙"], "brah": ["𑁦", "𑁧", "𑁨", "𑁩", "𑁪", "𑁫", "𑁬", "𑁭", "𑁮", "𑁯"], "cakm": ["𑄶", "𑄷", "𑄸", "𑄹", "𑄺", "𑄻", "𑄼", "𑄽", "𑄾", "𑄿"], "cham": ["꩐", "꩑", "꩒", "꩓", "꩔", "꩕", "꩖", "꩗", "꩘", "꩙"], "deva": ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"], "diak": ["𑥐", "𑥑", "𑥒", "𑥓", "𑥔", "𑥕", "𑥖", "𑥗", "𑥘", "𑥙"], "fullwide": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], "gong": ["𑶠", "𑶡", "𑶢", "𑶣", "𑶤", "𑶥", "𑶦", "𑶧", "𑶨", "𑶩"], "gonm": ["𑵐", "𑵑", "𑵒", "𑵓", "𑵔", "𑵕", "𑵖", "𑵗", "𑵘", "𑵙"], "gujr": ["૦", "૧", "૨", "૩", "૪", "૫", "૬", "૭", "૮", "૯"], "guru": ["੦", "੧", "੨", "੩", "੪", "੫", "੬", "੭", "੮", "੯"], "hanidec": ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"], "hmng": ["𖭐", "𖭑", "𖭒", "𖭓", "𖭔", "𖭕", "𖭖", "𖭗", "𖭘", "𖭙"], "hmnp": ["𞅀", "𞅁", "𞅂", "𞅃", "𞅄", "𞅅", "𞅆", "𞅇", "𞅈", "𞅉"], "java": ["꧐", "꧑", "꧒", "꧓", "꧔", "꧕", "꧖", "꧗", "꧘", "꧙"], "kali": ["꤀", "꤁", "꤂", "꤃", "꤄", "꤅", "꤆", "꤇", "꤈", "꤉"], "khmr": ["០", "១", "២", "៣", "៤", "៥", "៦", "៧", "៨", "៩"], "knda": ["೦", "೧", "೨", "೩", "೪", "೫", "೬", "೭", "೮", "೯"], "lana": ["᪀", "᪁", "᪂", "᪃", "᪄", "᪅", "᪆", "᪇", "᪈", "᪉"], "lanatham": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "laoo": ["໐", "໑", "໒", "໓", "໔", "໕", "໖", "໗", "໘", "໙"], "lepc": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "limb": ["᥆", "᥇", "᥈", "᥉", "᥊", "᥋", "᥌", "᥍", "᥎", "᥏"], "mathbold": ["𝟎", "𝟏", "𝟐", "𝟑", "𝟒", "𝟓", "𝟔", "𝟕", "𝟖", "𝟗"], "mathdbl": ["𝟘", "𝟙", "𝟚", "𝟛", "𝟜", "𝟝", "𝟞", "𝟟", "𝟠", "𝟡"], "mathmono": ["𝟶", "𝟷", "𝟸", "𝟹", "𝟺", "𝟻", "𝟼", "𝟽", "𝟾", "𝟿"], "mathsanb": ["𝟬", "𝟭", "𝟮", "𝟯", "𝟰", "𝟱", "𝟲", "𝟳", "𝟴", "𝟵"], "mathsans": ["𝟢", "𝟣", "𝟤", "𝟥", "𝟦", "𝟧", "𝟨", "𝟩", "𝟪", "𝟫"], "mlym": ["൦", "൧", "൨", "൩", "൪", "൫", "൬", "൭", "൮", "൯"], "modi": ["𑙐", "𑙑", "𑙒", "𑙓", "𑙔", "𑙕", "𑙖", "𑙗", "𑙘", "𑙙"], "mong": ["᠐", "᠑", "᠒", "᠓", "᠔", "᠕", "᠖", "᠗", "᠘", "᠙"], "mroo": ["𖩠", "𖩡", "𖩢", "𖩣", "𖩤", "𖩥", "𖩦", "𖩧", "𖩨", "𖩩"], "mtei": ["꯰", "꯱", "꯲", "꯳", "꯴", "꯵", "꯶", "꯷", "꯸", "꯹"], "mymr": ["၀", "၁", "၂", "၃", "၄", "၅", "၆", "၇", "၈", "၉"], "mymrshan": ["႐", "႑", "႒", "႓", "႔", "႕", "႖", "႗", "႘", "႙"], "mymrtlng": ["꧰", "꧱", "꧲", "꧳", "꧴", "꧵", "꧶", "꧷", "꧸", "꧹"], "newa": ["𑑐", "𑑑", "𑑒", "𑑓", "𑑔", "𑑕", "𑑖", "𑑗", "𑑘", "𑑙"], "nkoo": ["߀", "߁", "߂", "߃", "߄", "߅", "߆", "߇", "߈", "߉"], "olck": ["᱐", "᱑", "᱒", "᱓", "᱔", "᱕", "᱖", "᱗", "᱘", "᱙"], "orya": ["୦", "୧", "୨", "୩", "୪", "୫", "୬", "୭", "୮", "୯"], "osma": ["𐒠", "𐒡", "𐒢", "𐒣", "𐒤", "𐒥", "𐒦", "𐒧", "𐒨", "𐒩"], "rohg": ["𐴰", "𐴱", "𐴲", "𐴳", "𐴴", "𐴵", "𐴶", "𐴷", "𐴸", "𐴹"], "saur": ["꣐", "꣑", "꣒", "꣓", "꣔", "꣕", "꣖", "꣗", "꣘", "꣙"], "segment": ["🯰", "🯱", "🯲", "🯳", "🯴", "🯵", "🯶", "🯷", "🯸", "🯹"], "shrd": ["𑇐", "𑇑", "𑇒", "𑇓", "𑇔", "𑇕", "𑇖", "𑇗", "𑇘", "𑇙"], "sind": ["𑋰", "𑋱", "𑋲", "𑋳", "𑋴", "𑋵", "𑋶", "𑋷", "𑋸", "𑋹"], "sinh": ["෦", "෧", "෨", "෩", "෪", "෫", "෬", "෭", "෮", "෯"], "sora": ["𑃰", "𑃱", "𑃲", "𑃳", "𑃴", "𑃵", "𑃶", "𑃷", "𑃸", "𑃹"], "sund": ["᮰", "᮱", "᮲", "᮳", "᮴", "᮵", "᮶", "᮷", "᮸", "᮹"], "takr": ["𑛀", "𑛁", "𑛂", "𑛃", "𑛄", "𑛅", "𑛆", "𑛇", "𑛈", "𑛉"], "talu": ["᧐", "᧑", "᧒", "᧓", "᧔", "᧕", "᧖", "᧗", "᧘", "᧙"], "tamldec": ["௦", "௧", "௨", "௩", "௪", "௫", "௬", "௭", "௮", "௯"], "telu": ["౦", "౧", "౨", "౩", "౪", "౫", "౬", "౭", "౮", "౯"], "thai": ["๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"], "tibt": ["༠", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩"], "tirh": ["𑓐", "𑓑", "𑓒", "𑓓", "𑓔", "𑓕", "𑓖", "𑓗", "𑓘", "𑓙"], "vaii": ["ᘠ", "ᘡ", "ᘢ", "ᘣ", "ᘤ", "ᘥ", "ᘦ", "ᘧ", "ᘨ", "ᘩ"], "wara": ["𑣠", "𑣡", "𑣢", "𑣣", "𑣤", "𑣥", "𑣦", "𑣧", "𑣨", "𑣩"], "wcho": ["𞋰", "𞋱", "𞋲", "𞋳", "𞋴", "𞋵", "𞋶", "𞋷", "𞋸", "𞋹"] };
@@ -1,5 +1,5 @@
1
1
  import { ToRawFixed } from './ToRawFixed';
2
- import * as digitMapping from './digit-mapping.json';
2
+ import { digitMapping } from './digit-mapping.generated';
3
3
  import { S_UNICODE_REGEX } from '../regex.generated';
4
4
  // This is from: unicode-12.1.0/General_Category/Symbol/regex.js
5
5
  // IE11 does not support unicode flag, otherwise this is just /\p{S}/u.
@@ -1,6 +1,6 @@
1
1
  import { ToObject } from './262';
2
2
  import { GetOption } from './GetOption';
3
- import { LookupSupportedLocales } from './LookupSupportedLocales';
3
+ import { LookupSupportedLocales } from '@formatjs/intl-localematcher';
4
4
  /**
5
5
  * https://tc39.es/ecma402/#sec-supportedlocales
6
6
  * @param availableLocales
package/lib/index.d.ts CHANGED
@@ -21,7 +21,6 @@ export * from './NumberFormat/ToRawFixed';
21
21
  export * from './NumberFormat/ToRawPrecision';
22
22
  export { default as _formatToParts } from './NumberFormat/format_to_parts';
23
23
  export * from './PartitionPattern';
24
- export * from './ResolveLocale';
25
24
  export * from './SupportedLocales';
26
25
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
27
26
  export type { LiteralPart } from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4CAA4C,CAAA;AAC1D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAA;AACxE,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,YAAY,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AAExC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACjC,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4CAA4C,CAAA;AAC1D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,gCAAgC,CAAA;AACxE,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,YAAY,EAAC,WAAW,EAAC,MAAM,SAAS,CAAA;AAExC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAA;AACjC,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAC5C,cAAc,OAAO,CAAA"}
package/lib/index.js CHANGED
@@ -21,7 +21,6 @@ export * from './NumberFormat/ToRawFixed';
21
21
  export * from './NumberFormat/ToRawPrecision';
22
22
  export { default as _formatToParts } from './NumberFormat/format_to_parts';
23
23
  export * from './PartitionPattern';
24
- export * from './ResolveLocale';
25
24
  export * from './SupportedLocales';
26
25
  export { getInternalSlot, getMultiInternalSlots, isLiteralPart, setInternalSlot, setMultiInternalSlots, getMagnitude, defineProperty, } from './utils';
27
26
  export { isMissingLocaleDataError } from './data';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/ecma402-abstract",
3
- "version": "1.9.3",
3
+ "version": "1.9.7",
4
4
  "description": "A collection of implementation for ECMAScript abstract operations",
5
5
  "keywords": [
6
6
  "intl",
@@ -14,6 +14,7 @@
14
14
  "format"
15
15
  ],
16
16
  "dependencies": {
17
+ "@formatjs/intl-localematcher": "0.2.20",
17
18
  "tslib": "^2.1.0"
18
19
  },
19
20
  "author": "Long Ho <holevietlong@gmail.com",
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-bestavailablelocale
3
- * @param availableLocales
4
- * @param locale
5
- */
6
- export declare function BestAvailableLocale(availableLocales: Set<String>, locale: string): string | undefined;
7
- //# sourceMappingURL=BestAvailableLocale.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BestAvailableLocale = void 0;
4
- /**
5
- * https://tc39.es/ecma402/#sec-bestavailablelocale
6
- * @param availableLocales
7
- * @param locale
8
- */
9
- function BestAvailableLocale(availableLocales, locale) {
10
- var candidate = locale;
11
- while (true) {
12
- if (availableLocales.has(candidate)) {
13
- return candidate;
14
- }
15
- var pos = candidate.lastIndexOf('-');
16
- if (!~pos) {
17
- return undefined;
18
- }
19
- if (pos >= 2 && candidate[pos - 2] === '-') {
20
- pos -= 2;
21
- }
22
- candidate = candidate.slice(0, pos);
23
- }
24
- }
25
- exports.BestAvailableLocale = BestAvailableLocale;
@@ -1,9 +0,0 @@
1
- import { LookupMatcherResult } from './types/core';
2
- /**
3
- * https://tc39.es/ecma402/#sec-bestfitmatcher
4
- * @param availableLocales
5
- * @param requestedLocales
6
- * @param getDefaultLocale
7
- */
8
- export declare function BestFitMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
- //# sourceMappingURL=BestFitMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAGhD;;;;;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 DELETED
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BestFitMatcher = void 0;
4
- var BestAvailableLocale_1 = require("./BestAvailableLocale");
5
- var utils_1 = require("./utils");
6
- /**
7
- * https://tc39.es/ecma402/#sec-bestfitmatcher
8
- * @param availableLocales
9
- * @param requestedLocales
10
- * @param getDefaultLocale
11
- */
12
- function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
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;
23
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
24
- var l = requestedLocales_1[_i];
25
- if (foundLocale) {
26
- break;
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);
47
- }
48
- return {
49
- locale: foundLocale || getDefaultLocale(),
50
- };
51
- }
52
- exports.BestFitMatcher = BestFitMatcher;
@@ -1,9 +0,0 @@
1
- import { LookupMatcherResult } from './types/core';
2
- /**
3
- * https://tc39.es/ecma402/#sec-lookupmatcher
4
- * @param availableLocales
5
- * @param requestedLocales
6
- * @param getDefaultLocale
7
- */
8
- export declare function LookupMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
- //# sourceMappingURL=LookupMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
package/LookupMatcher.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LookupMatcher = void 0;
4
- var utils_1 = require("./utils");
5
- var BestAvailableLocale_1 = require("./BestAvailableLocale");
6
- /**
7
- * https://tc39.es/ecma402/#sec-lookupmatcher
8
- * @param availableLocales
9
- * @param requestedLocales
10
- * @param getDefaultLocale
11
- */
12
- function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
13
- var result = { locale: '' };
14
- 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
- }
25
- }
26
- result.locale = getDefaultLocale();
27
- return result;
28
- }
29
- exports.LookupMatcher = LookupMatcher;
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-lookupsupportedlocales
3
- * @param availableLocales
4
- * @param requestedLocales
5
- */
6
- export declare function LookupSupportedLocales(availableLocales: Set<string>, requestedLocales: string[]): string[];
7
- //# sourceMappingURL=LookupSupportedLocales.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LookupSupportedLocales = void 0;
4
- var utils_1 = require("./utils");
5
- var BestAvailableLocale_1 = require("./BestAvailableLocale");
6
- /**
7
- * https://tc39.es/ecma402/#sec-lookupsupportedlocales
8
- * @param availableLocales
9
- * @param requestedLocales
10
- */
11
- function LookupSupportedLocales(availableLocales, requestedLocales) {
12
- var subset = [];
13
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
14
- var locale = requestedLocales_1[_i];
15
- var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, '');
16
- var availableLocale = BestAvailableLocale_1.BestAvailableLocale(availableLocales, noExtensionLocale);
17
- if (availableLocale) {
18
- subset.push(availableLocale);
19
- }
20
- }
21
- return subset;
22
- }
23
- exports.LookupSupportedLocales = LookupSupportedLocales;
@@ -1 +0,0 @@
1
- { "adlm": ["𞥐", "𞥑", "𞥒", "𞥓", "𞥔", "𞥕", "𞥖", "𞥗", "𞥘", "𞥙"], "ahom": ["𑜰", "𑜱", "𑜲", "𑜳", "𑜴", "𑜵", "𑜶", "𑜷", "𑜸", "𑜹"], "arab": ["٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"], "arabext": ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"], "bali": ["᭐", "᭑", "᭒", "᭓", "᭔", "᭕", "᭖", "᭗", "᭘", "᭙"], "beng": ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"], "bhks": ["𑱐", "𑱑", "𑱒", "𑱓", "𑱔", "𑱕", "𑱖", "𑱗", "𑱘", "𑱙"], "brah": ["𑁦", "𑁧", "𑁨", "𑁩", "𑁪", "𑁫", "𑁬", "𑁭", "𑁮", "𑁯"], "cakm": ["𑄶", "𑄷", "𑄸", "𑄹", "𑄺", "𑄻", "𑄼", "𑄽", "𑄾", "𑄿"], "cham": ["꩐", "꩑", "꩒", "꩓", "꩔", "꩕", "꩖", "꩗", "꩘", "꩙"], "deva": ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"], "diak": ["𑥐", "𑥑", "𑥒", "𑥓", "𑥔", "𑥕", "𑥖", "𑥗", "𑥘", "𑥙"], "fullwide": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], "gong": ["𑶠", "𑶡", "𑶢", "𑶣", "𑶤", "𑶥", "𑶦", "𑶧", "𑶨", "𑶩"], "gonm": ["𑵐", "𑵑", "𑵒", "𑵓", "𑵔", "𑵕", "𑵖", "𑵗", "𑵘", "𑵙"], "gujr": ["૦", "૧", "૨", "૩", "૪", "૫", "૬", "૭", "૮", "૯"], "guru": ["੦", "੧", "੨", "੩", "੪", "੫", "੬", "੭", "੮", "੯"], "hanidec": ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"], "hmng": ["𖭐", "𖭑", "𖭒", "𖭓", "𖭔", "𖭕", "𖭖", "𖭗", "𖭘", "𖭙"], "hmnp": ["𞅀", "𞅁", "𞅂", "𞅃", "𞅄", "𞅅", "𞅆", "𞅇", "𞅈", "𞅉"], "java": ["꧐", "꧑", "꧒", "꧓", "꧔", "꧕", "꧖", "꧗", "꧘", "꧙"], "kali": ["꤀", "꤁", "꤂", "꤃", "꤄", "꤅", "꤆", "꤇", "꤈", "꤉"], "khmr": ["០", "១", "២", "៣", "៤", "៥", "៦", "៧", "៨", "៩"], "knda": ["೦", "೧", "೨", "೩", "೪", "೫", "೬", "೭", "೮", "೯"], "lana": ["᪀", "᪁", "᪂", "᪃", "᪄", "᪅", "᪆", "᪇", "᪈", "᪉"], "lanatham": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "laoo": ["໐", "໑", "໒", "໓", "໔", "໕", "໖", "໗", "໘", "໙"], "lepc": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "limb": ["᥆", "᥇", "᥈", "᥉", "᥊", "᥋", "᥌", "᥍", "᥎", "᥏"], "mathbold": ["𝟎", "𝟏", "𝟐", "𝟑", "𝟒", "𝟓", "𝟔", "𝟕", "𝟖", "𝟗"], "mathdbl": ["𝟘", "𝟙", "𝟚", "𝟛", "𝟜", "𝟝", "𝟞", "𝟟", "𝟠", "𝟡"], "mathmono": ["𝟶", "𝟷", "𝟸", "𝟹", "𝟺", "𝟻", "𝟼", "𝟽", "𝟾", "𝟿"], "mathsanb": ["𝟬", "𝟭", "𝟮", "𝟯", "𝟰", "𝟱", "𝟲", "𝟳", "𝟴", "𝟵"], "mathsans": ["𝟢", "𝟣", "𝟤", "𝟥", "𝟦", "𝟧", "𝟨", "𝟩", "𝟪", "𝟫"], "mlym": ["൦", "൧", "൨", "൩", "൪", "൫", "൬", "൭", "൮", "൯"], "modi": ["𑙐", "𑙑", "𑙒", "𑙓", "𑙔", "𑙕", "𑙖", "𑙗", "𑙘", "𑙙"], "mong": ["᠐", "᠑", "᠒", "᠓", "᠔", "᠕", "᠖", "᠗", "᠘", "᠙"], "mroo": ["𖩠", "𖩡", "𖩢", "𖩣", "𖩤", "𖩥", "𖩦", "𖩧", "𖩨", "𖩩"], "mtei": ["꯰", "꯱", "꯲", "꯳", "꯴", "꯵", "꯶", "꯷", "꯸", "꯹"], "mymr": ["၀", "၁", "၂", "၃", "၄", "၅", "၆", "၇", "၈", "၉"], "mymrshan": ["႐", "႑", "႒", "႓", "႔", "႕", "႖", "႗", "႘", "႙"], "mymrtlng": ["꧰", "꧱", "꧲", "꧳", "꧴", "꧵", "꧶", "꧷", "꧸", "꧹"], "newa": ["𑑐", "𑑑", "𑑒", "𑑓", "𑑔", "𑑕", "𑑖", "𑑗", "𑑘", "𑑙"], "nkoo": ["߀", "߁", "߂", "߃", "߄", "߅", "߆", "߇", "߈", "߉"], "olck": ["᱐", "᱑", "᱒", "᱓", "᱔", "᱕", "᱖", "᱗", "᱘", "᱙"], "orya": ["୦", "୧", "୨", "୩", "୪", "୫", "୬", "୭", "୮", "୯"], "osma": ["𐒠", "𐒡", "𐒢", "𐒣", "𐒤", "𐒥", "𐒦", "𐒧", "𐒨", "𐒩"], "rohg": ["𐴰", "𐴱", "𐴲", "𐴳", "𐴴", "𐴵", "𐴶", "𐴷", "𐴸", "𐴹"], "saur": ["꣐", "꣑", "꣒", "꣓", "꣔", "꣕", "꣖", "꣗", "꣘", "꣙"], "segment": ["🯰", "🯱", "🯲", "🯳", "🯴", "🯵", "🯶", "🯷", "🯸", "🯹"], "shrd": ["𑇐", "𑇑", "𑇒", "𑇓", "𑇔", "𑇕", "𑇖", "𑇗", "𑇘", "𑇙"], "sind": ["𑋰", "𑋱", "𑋲", "𑋳", "𑋴", "𑋵", "𑋶", "𑋷", "𑋸", "𑋹"], "sinh": ["෦", "෧", "෨", "෩", "෪", "෫", "෬", "෭", "෮", "෯"], "sora": ["𑃰", "𑃱", "𑃲", "𑃳", "𑃴", "𑃵", "𑃶", "𑃷", "𑃸", "𑃹"], "sund": ["᮰", "᮱", "᮲", "᮳", "᮴", "᮵", "᮶", "᮷", "᮸", "᮹"], "takr": ["𑛀", "𑛁", "𑛂", "𑛃", "𑛄", "𑛅", "𑛆", "𑛇", "𑛈", "𑛉"], "talu": ["᧐", "᧑", "᧒", "᧓", "᧔", "᧕", "᧖", "᧗", "᧘", "᧙"], "tamldec": ["௦", "௧", "௨", "௩", "௪", "௫", "௬", "௭", "௮", "௯"], "telu": ["౦", "౧", "౨", "౩", "౪", "౫", "౬", "౭", "౮", "౯"], "thai": ["๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"], "tibt": ["༠", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩"], "tirh": ["𑓐", "𑓑", "𑓒", "𑓓", "𑓔", "𑓕", "𑓖", "𑓗", "𑓘", "𑓙"], "vaii": ["ᘠ", "ᘡ", "ᘢ", "ᘣ", "ᘤ", "ᘥ", "ᘦ", "ᘧ", "ᘨ", "ᘩ"], "wara": ["𑣠", "𑣡", "𑣢", "𑣣", "𑣤", "𑣥", "𑣦", "𑣧", "𑣨", "𑣩"], "wcho": ["𞋰", "𞋱", "𞋲", "𞋳", "𞋴", "𞋵", "𞋶", "𞋷", "𞋸", "𞋹"] }
@@ -1,15 +0,0 @@
1
- export interface ResolveLocaleResult {
2
- locale: string;
3
- dataLocale: string;
4
- [k: string]: any;
5
- }
6
- /**
7
- * https://tc39.es/ecma402/#sec-resolvelocale
8
- */
9
- export declare function ResolveLocale<K extends string, D extends {
10
- [k in K]: any;
11
- }>(availableLocales: Set<string>, requestedLocales: string[], options: {
12
- localeMatcher: string;
13
- [k: string]: string;
14
- }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
15
- //# sourceMappingURL=ResolveLocale.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;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"}
package/ResolveLocale.js DELETED
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResolveLocale = void 0;
4
- var LookupMatcher_1 = require("./LookupMatcher");
5
- var BestFitMatcher_1 = require("./BestFitMatcher");
6
- var utils_1 = require("./utils");
7
- var UnicodeExtensionValue_1 = require("./UnicodeExtensionValue");
8
- /**
9
- * https://tc39.es/ecma402/#sec-resolvelocale
10
- */
11
- function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
12
- var matcher = options.localeMatcher;
13
- var r;
14
- if (matcher === 'lookup') {
15
- r = LookupMatcher_1.LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
16
- }
17
- else {
18
- r = BestFitMatcher_1.BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
19
- }
20
- var foundLocale = r.locale;
21
- var result = { locale: '', dataLocale: foundLocale };
22
- var supportedExtension = '-u';
23
- for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
24
- var key = relevantExtensionKeys_1[_i];
25
- utils_1.invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
26
- var foundLocaleData = localeData[foundLocale];
27
- utils_1.invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
28
- var keyLocaleData = foundLocaleData[key];
29
- utils_1.invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
30
- var value = keyLocaleData[0];
31
- utils_1.invariant(typeof value === 'string' || value === null, "value must be string or null but got " + typeof value + " in key " + key);
32
- var supportedExtensionAddition = '';
33
- if (r.extension) {
34
- var requestedValue = UnicodeExtensionValue_1.UnicodeExtensionValue(r.extension, key);
35
- if (requestedValue !== undefined) {
36
- if (requestedValue !== '') {
37
- if (~keyLocaleData.indexOf(requestedValue)) {
38
- value = requestedValue;
39
- supportedExtensionAddition = "-" + key + "-" + value;
40
- }
41
- }
42
- else if (~requestedValue.indexOf('true')) {
43
- value = 'true';
44
- supportedExtensionAddition = "-" + key;
45
- }
46
- }
47
- }
48
- if (key in options) {
49
- var optionsValue = options[key];
50
- utils_1.invariant(typeof optionsValue === 'string' ||
51
- typeof optionsValue === 'undefined' ||
52
- optionsValue === null, 'optionsValue must be String, Undefined or Null');
53
- if (~keyLocaleData.indexOf(optionsValue)) {
54
- if (optionsValue !== value) {
55
- value = optionsValue;
56
- supportedExtensionAddition = '';
57
- }
58
- }
59
- }
60
- result[key] = value;
61
- supportedExtension += supportedExtensionAddition;
62
- }
63
- if (supportedExtension.length > 2) {
64
- var privateIndex = foundLocale.indexOf('-x-');
65
- if (privateIndex === -1) {
66
- foundLocale = foundLocale + supportedExtension;
67
- }
68
- else {
69
- var preExtension = foundLocale.slice(0, privateIndex);
70
- var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
71
- foundLocale = preExtension + supportedExtension + postExtension;
72
- }
73
- foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
74
- }
75
- result.locale = foundLocale;
76
- return result;
77
- }
78
- exports.ResolveLocale = ResolveLocale;
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-unicodeextensionvalue
3
- * @param extension
4
- * @param key
5
- */
6
- export declare function UnicodeExtensionValue(extension: string, key: string): string | undefined;
7
- //# sourceMappingURL=UnicodeExtensionValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnicodeExtensionValue.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/UnicodeExtensionValue.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,sBAoCnE"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnicodeExtensionValue = void 0;
4
- var utils_1 = require("./utils");
5
- /**
6
- * https://tc39.es/ecma402/#sec-unicodeextensionvalue
7
- * @param extension
8
- * @param key
9
- */
10
- function UnicodeExtensionValue(extension, key) {
11
- utils_1.invariant(key.length === 2, 'key must have 2 elements');
12
- var size = extension.length;
13
- var searchValue = "-" + key + "-";
14
- var pos = extension.indexOf(searchValue);
15
- if (pos !== -1) {
16
- var start = pos + 4;
17
- var end = start;
18
- var k = start;
19
- var done = false;
20
- while (!done) {
21
- var e = extension.indexOf('-', k);
22
- var len = void 0;
23
- if (e === -1) {
24
- len = size - k;
25
- }
26
- else {
27
- len = e - k;
28
- }
29
- if (len === 2) {
30
- done = true;
31
- }
32
- else if (e === -1) {
33
- end = size;
34
- done = true;
35
- }
36
- else {
37
- end = e;
38
- k = e + 1;
39
- }
40
- }
41
- return extension.slice(start, end);
42
- }
43
- searchValue = "-" + key;
44
- pos = extension.indexOf(searchValue);
45
- if (pos !== -1 && pos + 3 === size) {
46
- return '';
47
- }
48
- return undefined;
49
- }
50
- exports.UnicodeExtensionValue = UnicodeExtensionValue;
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-bestavailablelocale
3
- * @param availableLocales
4
- * @param locale
5
- */
6
- export declare function BestAvailableLocale(availableLocales: Set<String>, locale: string): string | undefined;
7
- //# sourceMappingURL=BestAvailableLocale.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-bestavailablelocale
3
- * @param availableLocales
4
- * @param locale
5
- */
6
- export function BestAvailableLocale(availableLocales, locale) {
7
- var candidate = locale;
8
- while (true) {
9
- if (availableLocales.has(candidate)) {
10
- return candidate;
11
- }
12
- var pos = candidate.lastIndexOf('-');
13
- if (!~pos) {
14
- return undefined;
15
- }
16
- if (pos >= 2 && candidate[pos - 2] === '-') {
17
- pos -= 2;
18
- }
19
- candidate = candidate.slice(0, pos);
20
- }
21
- }
@@ -1,9 +0,0 @@
1
- import { LookupMatcherResult } from './types/core';
2
- /**
3
- * https://tc39.es/ecma402/#sec-bestfitmatcher
4
- * @param availableLocales
5
- * @param requestedLocales
6
- * @param getDefaultLocale
7
- */
8
- export declare function BestFitMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
- //# sourceMappingURL=BestFitMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAGhD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAiDrB"}
@@ -1,48 +0,0 @@
1
- import { BestAvailableLocale } from './BestAvailableLocale';
2
- import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';
3
- /**
4
- * https://tc39.es/ecma402/#sec-bestfitmatcher
5
- * @param availableLocales
6
- * @param requestedLocales
7
- * @param getDefaultLocale
8
- */
9
- export function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
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;
20
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
21
- var l = requestedLocales_1[_i];
22
- if (foundLocale) {
23
- break;
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);
44
- }
45
- return {
46
- locale: foundLocale || getDefaultLocale(),
47
- };
48
- }
@@ -1,9 +0,0 @@
1
- import { LookupMatcherResult } from './types/core';
2
- /**
3
- * https://tc39.es/ecma402/#sec-lookupmatcher
4
- * @param availableLocales
5
- * @param requestedLocales
6
- * @param getDefaultLocale
7
- */
8
- export declare function LookupMatcher(availableLocales: Set<string>, requestedLocales: string[], getDefaultLocale: () => string): LookupMatcherResult;
9
- //# sourceMappingURL=LookupMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LookupMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/LookupMatcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAwBrB"}
@@ -1,25 +0,0 @@
1
- import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';
2
- import { BestAvailableLocale } from './BestAvailableLocale';
3
- /**
4
- * https://tc39.es/ecma402/#sec-lookupmatcher
5
- * @param availableLocales
6
- * @param requestedLocales
7
- * @param getDefaultLocale
8
- */
9
- export function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
10
- var result = { locale: '' };
11
- 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
- }
22
- }
23
- result.locale = getDefaultLocale();
24
- return result;
25
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-lookupsupportedlocales
3
- * @param availableLocales
4
- * @param requestedLocales
5
- */
6
- export declare function LookupSupportedLocales(availableLocales: Set<string>, requestedLocales: string[]): string[];
7
- //# sourceMappingURL=LookupSupportedLocales.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
1
- import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';
2
- import { BestAvailableLocale } from './BestAvailableLocale';
3
- /**
4
- * https://tc39.es/ecma402/#sec-lookupsupportedlocales
5
- * @param availableLocales
6
- * @param requestedLocales
7
- */
8
- export function LookupSupportedLocales(availableLocales, requestedLocales) {
9
- var subset = [];
10
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
11
- var locale = requestedLocales_1[_i];
12
- var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
13
- var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
14
- if (availableLocale) {
15
- subset.push(availableLocale);
16
- }
17
- }
18
- return subset;
19
- }
@@ -1 +0,0 @@
1
- { "adlm": ["𞥐", "𞥑", "𞥒", "𞥓", "𞥔", "𞥕", "𞥖", "𞥗", "𞥘", "𞥙"], "ahom": ["𑜰", "𑜱", "𑜲", "𑜳", "𑜴", "𑜵", "𑜶", "𑜷", "𑜸", "𑜹"], "arab": ["٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩"], "arabext": ["۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"], "bali": ["᭐", "᭑", "᭒", "᭓", "᭔", "᭕", "᭖", "᭗", "᭘", "᭙"], "beng": ["০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"], "bhks": ["𑱐", "𑱑", "𑱒", "𑱓", "𑱔", "𑱕", "𑱖", "𑱗", "𑱘", "𑱙"], "brah": ["𑁦", "𑁧", "𑁨", "𑁩", "𑁪", "𑁫", "𑁬", "𑁭", "𑁮", "𑁯"], "cakm": ["𑄶", "𑄷", "𑄸", "𑄹", "𑄺", "𑄻", "𑄼", "𑄽", "𑄾", "𑄿"], "cham": ["꩐", "꩑", "꩒", "꩓", "꩔", "꩕", "꩖", "꩗", "꩘", "꩙"], "deva": ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"], "diak": ["𑥐", "𑥑", "𑥒", "𑥓", "𑥔", "𑥕", "𑥖", "𑥗", "𑥘", "𑥙"], "fullwide": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], "gong": ["𑶠", "𑶡", "𑶢", "𑶣", "𑶤", "𑶥", "𑶦", "𑶧", "𑶨", "𑶩"], "gonm": ["𑵐", "𑵑", "𑵒", "𑵓", "𑵔", "𑵕", "𑵖", "𑵗", "𑵘", "𑵙"], "gujr": ["૦", "૧", "૨", "૩", "૪", "૫", "૬", "૭", "૮", "૯"], "guru": ["੦", "੧", "੨", "੩", "੪", "੫", "੬", "੭", "੮", "੯"], "hanidec": ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"], "hmng": ["𖭐", "𖭑", "𖭒", "𖭓", "𖭔", "𖭕", "𖭖", "𖭗", "𖭘", "𖭙"], "hmnp": ["𞅀", "𞅁", "𞅂", "𞅃", "𞅄", "𞅅", "𞅆", "𞅇", "𞅈", "𞅉"], "java": ["꧐", "꧑", "꧒", "꧓", "꧔", "꧕", "꧖", "꧗", "꧘", "꧙"], "kali": ["꤀", "꤁", "꤂", "꤃", "꤄", "꤅", "꤆", "꤇", "꤈", "꤉"], "khmr": ["០", "១", "២", "៣", "៤", "៥", "៦", "៧", "៨", "៩"], "knda": ["೦", "೧", "೨", "೩", "೪", "೫", "೬", "೭", "೮", "೯"], "lana": ["᪀", "᪁", "᪂", "᪃", "᪄", "᪅", "᪆", "᪇", "᪈", "᪉"], "lanatham": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "laoo": ["໐", "໑", "໒", "໓", "໔", "໕", "໖", "໗", "໘", "໙"], "lepc": ["᪐", "᪑", "᪒", "᪓", "᪔", "᪕", "᪖", "᪗", "᪘", "᪙"], "limb": ["᥆", "᥇", "᥈", "᥉", "᥊", "᥋", "᥌", "᥍", "᥎", "᥏"], "mathbold": ["𝟎", "𝟏", "𝟐", "𝟑", "𝟒", "𝟓", "𝟔", "𝟕", "𝟖", "𝟗"], "mathdbl": ["𝟘", "𝟙", "𝟚", "𝟛", "𝟜", "𝟝", "𝟞", "𝟟", "𝟠", "𝟡"], "mathmono": ["𝟶", "𝟷", "𝟸", "𝟹", "𝟺", "𝟻", "𝟼", "𝟽", "𝟾", "𝟿"], "mathsanb": ["𝟬", "𝟭", "𝟮", "𝟯", "𝟰", "𝟱", "𝟲", "𝟳", "𝟴", "𝟵"], "mathsans": ["𝟢", "𝟣", "𝟤", "𝟥", "𝟦", "𝟧", "𝟨", "𝟩", "𝟪", "𝟫"], "mlym": ["൦", "൧", "൨", "൩", "൪", "൫", "൬", "൭", "൮", "൯"], "modi": ["𑙐", "𑙑", "𑙒", "𑙓", "𑙔", "𑙕", "𑙖", "𑙗", "𑙘", "𑙙"], "mong": ["᠐", "᠑", "᠒", "᠓", "᠔", "᠕", "᠖", "᠗", "᠘", "᠙"], "mroo": ["𖩠", "𖩡", "𖩢", "𖩣", "𖩤", "𖩥", "𖩦", "𖩧", "𖩨", "𖩩"], "mtei": ["꯰", "꯱", "꯲", "꯳", "꯴", "꯵", "꯶", "꯷", "꯸", "꯹"], "mymr": ["၀", "၁", "၂", "၃", "၄", "၅", "၆", "၇", "၈", "၉"], "mymrshan": ["႐", "႑", "႒", "႓", "႔", "႕", "႖", "႗", "႘", "႙"], "mymrtlng": ["꧰", "꧱", "꧲", "꧳", "꧴", "꧵", "꧶", "꧷", "꧸", "꧹"], "newa": ["𑑐", "𑑑", "𑑒", "𑑓", "𑑔", "𑑕", "𑑖", "𑑗", "𑑘", "𑑙"], "nkoo": ["߀", "߁", "߂", "߃", "߄", "߅", "߆", "߇", "߈", "߉"], "olck": ["᱐", "᱑", "᱒", "᱓", "᱔", "᱕", "᱖", "᱗", "᱘", "᱙"], "orya": ["୦", "୧", "୨", "୩", "୪", "୫", "୬", "୭", "୮", "୯"], "osma": ["𐒠", "𐒡", "𐒢", "𐒣", "𐒤", "𐒥", "𐒦", "𐒧", "𐒨", "𐒩"], "rohg": ["𐴰", "𐴱", "𐴲", "𐴳", "𐴴", "𐴵", "𐴶", "𐴷", "𐴸", "𐴹"], "saur": ["꣐", "꣑", "꣒", "꣓", "꣔", "꣕", "꣖", "꣗", "꣘", "꣙"], "segment": ["🯰", "🯱", "🯲", "🯳", "🯴", "🯵", "🯶", "🯷", "🯸", "🯹"], "shrd": ["𑇐", "𑇑", "𑇒", "𑇓", "𑇔", "𑇕", "𑇖", "𑇗", "𑇘", "𑇙"], "sind": ["𑋰", "𑋱", "𑋲", "𑋳", "𑋴", "𑋵", "𑋶", "𑋷", "𑋸", "𑋹"], "sinh": ["෦", "෧", "෨", "෩", "෪", "෫", "෬", "෭", "෮", "෯"], "sora": ["𑃰", "𑃱", "𑃲", "𑃳", "𑃴", "𑃵", "𑃶", "𑃷", "𑃸", "𑃹"], "sund": ["᮰", "᮱", "᮲", "᮳", "᮴", "᮵", "᮶", "᮷", "᮸", "᮹"], "takr": ["𑛀", "𑛁", "𑛂", "𑛃", "𑛄", "𑛅", "𑛆", "𑛇", "𑛈", "𑛉"], "talu": ["᧐", "᧑", "᧒", "᧓", "᧔", "᧕", "᧖", "᧗", "᧘", "᧙"], "tamldec": ["௦", "௧", "௨", "௩", "௪", "௫", "௬", "௭", "௮", "௯"], "telu": ["౦", "౧", "౨", "౩", "౪", "౫", "౬", "౭", "౮", "౯"], "thai": ["๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙"], "tibt": ["༠", "༡", "༢", "༣", "༤", "༥", "༦", "༧", "༨", "༩"], "tirh": ["𑓐", "𑓑", "𑓒", "𑓓", "𑓔", "𑓕", "𑓖", "𑓗", "𑓘", "𑓙"], "vaii": ["ᘠ", "ᘡ", "ᘢ", "ᘣ", "ᘤ", "ᘥ", "ᘦ", "ᘧ", "ᘨ", "ᘩ"], "wara": ["𑣠", "𑣡", "𑣢", "𑣣", "𑣤", "𑣥", "𑣦", "𑣧", "𑣨", "𑣩"], "wcho": ["𞋰", "𞋱", "𞋲", "𞋳", "𞋴", "𞋵", "𞋶", "𞋷", "𞋸", "𞋹"] }
@@ -1,15 +0,0 @@
1
- export interface ResolveLocaleResult {
2
- locale: string;
3
- dataLocale: string;
4
- [k: string]: any;
5
- }
6
- /**
7
- * https://tc39.es/ecma402/#sec-resolvelocale
8
- */
9
- export declare function ResolveLocale<K extends string, D extends {
10
- [k in K]: any;
11
- }>(availableLocales: Set<string>, requestedLocales: string[], options: {
12
- localeMatcher: string;
13
- [k: string]: string;
14
- }, relevantExtensionKeys: K[], localeData: Record<string, D | undefined>, getDefaultLocale: () => string): ResolveLocaleResult;
15
- //# sourceMappingURL=ResolveLocale.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResolveLocale.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/ResolveLocale.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;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"}
@@ -1,74 +0,0 @@
1
- import { LookupMatcher } from './LookupMatcher';
2
- import { BestFitMatcher } from './BestFitMatcher';
3
- import { invariant } from './utils';
4
- import { UnicodeExtensionValue } from './UnicodeExtensionValue';
5
- /**
6
- * https://tc39.es/ecma402/#sec-resolvelocale
7
- */
8
- export function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
9
- var matcher = options.localeMatcher;
10
- var r;
11
- if (matcher === 'lookup') {
12
- r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
13
- }
14
- else {
15
- r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
16
- }
17
- var foundLocale = r.locale;
18
- var result = { locale: '', dataLocale: foundLocale };
19
- var supportedExtension = '-u';
20
- for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
21
- var key = relevantExtensionKeys_1[_i];
22
- invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
23
- var foundLocaleData = localeData[foundLocale];
24
- invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
25
- var keyLocaleData = foundLocaleData[key];
26
- invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
27
- var value = keyLocaleData[0];
28
- invariant(typeof value === 'string' || value === null, "value must be string or null but got " + typeof value + " in key " + key);
29
- var supportedExtensionAddition = '';
30
- if (r.extension) {
31
- var requestedValue = UnicodeExtensionValue(r.extension, key);
32
- if (requestedValue !== undefined) {
33
- if (requestedValue !== '') {
34
- if (~keyLocaleData.indexOf(requestedValue)) {
35
- value = requestedValue;
36
- supportedExtensionAddition = "-" + key + "-" + value;
37
- }
38
- }
39
- else if (~requestedValue.indexOf('true')) {
40
- value = 'true';
41
- supportedExtensionAddition = "-" + key;
42
- }
43
- }
44
- }
45
- if (key in options) {
46
- var optionsValue = options[key];
47
- invariant(typeof optionsValue === 'string' ||
48
- typeof optionsValue === 'undefined' ||
49
- optionsValue === null, 'optionsValue must be String, Undefined or Null');
50
- if (~keyLocaleData.indexOf(optionsValue)) {
51
- if (optionsValue !== value) {
52
- value = optionsValue;
53
- supportedExtensionAddition = '';
54
- }
55
- }
56
- }
57
- result[key] = value;
58
- supportedExtension += supportedExtensionAddition;
59
- }
60
- if (supportedExtension.length > 2) {
61
- var privateIndex = foundLocale.indexOf('-x-');
62
- if (privateIndex === -1) {
63
- foundLocale = foundLocale + supportedExtension;
64
- }
65
- else {
66
- var preExtension = foundLocale.slice(0, privateIndex);
67
- var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
68
- foundLocale = preExtension + supportedExtension + postExtension;
69
- }
70
- foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
71
- }
72
- result.locale = foundLocale;
73
- return result;
74
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * https://tc39.es/ecma402/#sec-unicodeextensionvalue
3
- * @param extension
4
- * @param key
5
- */
6
- export declare function UnicodeExtensionValue(extension: string, key: string): string | undefined;
7
- //# sourceMappingURL=UnicodeExtensionValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnicodeExtensionValue.d.ts","sourceRoot":"","sources":["../../../../../../packages/ecma402-abstract/UnicodeExtensionValue.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,sBAoCnE"}
@@ -1,46 +0,0 @@
1
- import { invariant } from './utils';
2
- /**
3
- * https://tc39.es/ecma402/#sec-unicodeextensionvalue
4
- * @param extension
5
- * @param key
6
- */
7
- export function UnicodeExtensionValue(extension, key) {
8
- invariant(key.length === 2, 'key must have 2 elements');
9
- var size = extension.length;
10
- var searchValue = "-" + key + "-";
11
- var pos = extension.indexOf(searchValue);
12
- if (pos !== -1) {
13
- var start = pos + 4;
14
- var end = start;
15
- var k = start;
16
- var done = false;
17
- while (!done) {
18
- var e = extension.indexOf('-', k);
19
- var len = void 0;
20
- if (e === -1) {
21
- len = size - k;
22
- }
23
- else {
24
- len = e - k;
25
- }
26
- if (len === 2) {
27
- done = true;
28
- }
29
- else if (e === -1) {
30
- end = size;
31
- done = true;
32
- }
33
- else {
34
- end = e;
35
- k = e + 1;
36
- }
37
- }
38
- return extension.slice(start, end);
39
- }
40
- searchValue = "-" + key;
41
- pos = extension.indexOf(searchValue);
42
- if (pos !== -1 && pos + 3 === size) {
43
- return '';
44
- }
45
- return undefined;
46
- }