@formatjs/intl-localematcher 0.5.3 → 0.5.5

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BestAvailableLocale = void 0;
3
+ exports.BestAvailableLocale = BestAvailableLocale;
4
4
  /**
5
5
  * https://tc39.es/ecma402/#sec-bestavailablelocale
6
6
  * @param availableLocales
@@ -22,4 +22,3 @@ function BestAvailableLocale(availableLocales, locale) {
22
22
  candidate = candidate.slice(0, pos);
23
23
  }
24
24
  }
25
- exports.BestAvailableLocale = BestAvailableLocale;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BestFitMatcher = void 0;
3
+ exports.BestFitMatcher = BestFitMatcher;
4
4
  var utils_1 = require("./utils");
5
5
  /**
6
6
  * https://tc39.es/ecma402/#sec-bestfitmatcher
@@ -32,4 +32,3 @@ function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
32
32
  extension: extension,
33
33
  };
34
34
  }
35
- exports.BestFitMatcher = BestFitMatcher;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CanonicalizeLocaleList = void 0;
3
+ exports.CanonicalizeLocaleList = CanonicalizeLocaleList;
4
4
  /**
5
5
  * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
6
6
  * @param locales
@@ -9,4 +9,3 @@ function CanonicalizeLocaleList(locales) {
9
9
  // TODO
10
10
  return Intl.getCanonicalLocales(locales);
11
11
  }
12
- exports.CanonicalizeLocaleList = CanonicalizeLocaleList;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LookupMatcher = void 0;
3
+ exports.LookupMatcher = LookupMatcher;
4
4
  var BestAvailableLocale_1 = require("./BestAvailableLocale");
5
5
  var utils_1 = require("./utils");
6
6
  /**
@@ -26,4 +26,3 @@ function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
26
26
  result.locale = getDefaultLocale();
27
27
  return result;
28
28
  }
29
- exports.LookupMatcher = LookupMatcher;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LookupSupportedLocales = void 0;
3
+ exports.LookupSupportedLocales = LookupSupportedLocales;
4
4
  var BestAvailableLocale_1 = require("./BestAvailableLocale");
5
5
  var utils_1 = require("./utils");
6
6
  /**
@@ -20,4 +20,3 @@ function LookupSupportedLocales(availableLocales, requestedLocales) {
20
20
  }
21
21
  return subset;
22
22
  }
23
- exports.LookupSupportedLocales = LookupSupportedLocales;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResolveLocale = void 0;
3
+ exports.ResolveLocale = ResolveLocale;
4
4
  var BestFitMatcher_1 = require("./BestFitMatcher");
5
5
  var LookupMatcher_1 = require("./LookupMatcher");
6
6
  var UnicodeExtensionValue_1 = require("./UnicodeExtensionValue");
@@ -75,4 +75,3 @@ function ResolveLocale(availableLocales, requestedLocales, options, relevantExte
75
75
  result.locale = foundLocale;
76
76
  return result;
77
77
  }
78
- exports.ResolveLocale = ResolveLocale;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnicodeExtensionValue = void 0;
3
+ exports.UnicodeExtensionValue = UnicodeExtensionValue;
4
4
  var utils_1 = require("./utils");
5
5
  /**
6
6
  * https://tc39.es/ecma402/#sec-unicodeextensionvalue
@@ -47,4 +47,3 @@ function UnicodeExtensionValue(extension, key) {
47
47
  }
48
48
  return undefined;
49
49
  }
50
- exports.UnicodeExtensionValue = UnicodeExtensionValue;
package/abstract/utils.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findBestMatch = exports.findMatchingDistance = exports.invariant = exports.UNICODE_EXTENSION_SEQUENCE_REGEX = void 0;
3
+ exports.UNICODE_EXTENSION_SEQUENCE_REGEX = void 0;
4
+ exports.invariant = invariant;
5
+ exports.findMatchingDistance = findMatchingDistance;
6
+ exports.findBestMatch = findBestMatch;
4
7
  var tslib_1 = require("tslib");
5
8
  var languageMatching_1 = require("./languageMatching");
6
9
  var regions_generated_1 = require("./regions.generated");
@@ -11,7 +14,6 @@ function invariant(condition, message, Err) {
11
14
  throw new Err(message);
12
15
  }
13
16
  }
14
- exports.invariant = invariant;
15
17
  // This is effectively 2 languages in 2 different regions in the same cluster
16
18
  var DEFAULT_MATCHING_THRESHOLD = 838;
17
19
  var PROCESSED_DATA;
@@ -137,7 +139,6 @@ function findMatchingDistance(desired, supported) {
137
139
  }
138
140
  return matchingDistance;
139
141
  }
140
- exports.findMatchingDistance = findMatchingDistance;
141
142
  function findBestMatch(requestedLocales, supportedLocales, threshold) {
142
143
  if (threshold === void 0) { threshold = DEFAULT_MATCHING_THRESHOLD; }
143
144
  var lowestDistance = Infinity;
@@ -149,10 +150,11 @@ function findBestMatch(requestedLocales, supportedLocales, threshold) {
149
150
  if (!result.distances[desired]) {
150
151
  result.distances[desired] = {};
151
152
  }
152
- supportedLocales.forEach(function (supported, j) {
153
+ supportedLocales.forEach(function (supported) {
153
154
  // Add some weight to the distance based on the order of the supported locales
154
- // Add penalty for the order of the requested locales
155
- var distance = findMatchingDistance(desired, supported) + j + i * 40;
155
+ // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402
156
+ // doesn't really have room for weighted locales like `en; q=0.1`
157
+ var distance = findMatchingDistance(desired, supported) + 0 + i * 40;
156
158
  result.distances[desired][supported] = distance;
157
159
  if (distance < lowestDistance) {
158
160
  lowestDistance = distance;
@@ -167,4 +169,3 @@ function findBestMatch(requestedLocales, supportedLocales, threshold) {
167
169
  }
168
170
  return result;
169
171
  }
170
- exports.findBestMatch = findBestMatch;
package/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResolveLocale = exports.LookupSupportedLocales = exports.match = void 0;
3
+ exports.ResolveLocale = exports.LookupSupportedLocales = void 0;
4
+ exports.match = match;
4
5
  var CanonicalizeLocaleList_1 = require("./abstract/CanonicalizeLocaleList");
5
6
  var ResolveLocale_1 = require("./abstract/ResolveLocale");
6
7
  function match(requestedLocales, availableLocales, defaultLocale, opts) {
@@ -8,7 +9,6 @@ function match(requestedLocales, availableLocales, defaultLocale, opts) {
8
9
  localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',
9
10
  }, [], {}, function () { return defaultLocale; }).locale;
10
11
  }
11
- exports.match = match;
12
12
  var LookupSupportedLocales_1 = require("./abstract/LookupSupportedLocales");
13
13
  Object.defineProperty(exports, "LookupSupportedLocales", { enumerable: true, get: function () { return LookupSupportedLocales_1.LookupSupportedLocales; } });
14
14
  var ResolveLocale_2 = require("./abstract/ResolveLocale");
@@ -144,10 +144,11 @@ export function findBestMatch(requestedLocales, supportedLocales, threshold) {
144
144
  if (!result.distances[desired]) {
145
145
  result.distances[desired] = {};
146
146
  }
147
- supportedLocales.forEach(function (supported, j) {
147
+ supportedLocales.forEach(function (supported) {
148
148
  // Add some weight to the distance based on the order of the supported locales
149
- // Add penalty for the order of the requested locales
150
- var distance = findMatchingDistance(desired, supported) + j + i * 40;
149
+ // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402
150
+ // doesn't really have room for weighted locales like `en; q=0.1`
151
+ var distance = findMatchingDistance(desired, supported) + 0 + i * 40;
151
152
  result.distances[desired][supported] = distance;
152
153
  if (distance < lowestDistance) {
153
154
  lowestDistance = distance;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/intl-localematcher",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "Intl.LocaleMatcher ponyfill",
5
5
  "keywords": [
6
6
  "intl",
@@ -25,6 +25,6 @@
25
25
  "url": "https://github.com/formatjs/formatjs/issues"
26
26
  },
27
27
  "dependencies": {
28
- "tslib": "^2.4.0"
28
+ "tslib": "^2.7.0"
29
29
  }
30
30
  }