@formatjs/intl-localematcher 0.2.19 → 0.2.23

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 +1 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/intl-localematcher/abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAG3C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAyDrB"}
1
+ {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../packages/intl-localematcher/abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAG3C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA2DrB"}
@@ -10,17 +10,19 @@ var utils_1 = require("./utils");
10
10
  * @param getDefaultLocale
11
11
  */
12
12
  function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
13
- var minimizedAvailableLocaleMap = Array.from(availableLocales).reduce(function (all, l) {
14
- all[l] = l;
15
- return all;
16
- }, {});
13
+ var minimizedAvailableLocaleMap = {};
17
14
  var minimizedAvailableLocales = new Set();
18
15
  availableLocales.forEach(function (locale) {
19
16
  var minimizedLocale = new Intl.Locale(locale)
20
17
  .minimize()
21
18
  .toString();
19
+ var canonicalizedLocale = Intl.getCanonicalLocales(locale)[0] || locale;
22
20
  minimizedAvailableLocaleMap[minimizedLocale] = locale;
21
+ minimizedAvailableLocaleMap[locale] = locale;
22
+ minimizedAvailableLocaleMap[canonicalizedLocale] = locale;
23
23
  minimizedAvailableLocales.add(minimizedLocale);
24
+ minimizedAvailableLocales.add(locale);
25
+ minimizedAvailableLocales.add(canonicalizedLocale);
24
26
  });
25
27
  var foundLocale;
26
28
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
@@ -46,11 +48,13 @@ function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
46
48
  break;
47
49
  }
48
50
  // Lookup algo on maximized locale
49
- foundLocale = BestAvailableLocale_1.BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
51
+ foundLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(minimizedAvailableLocales, maximizedRequestedLocale);
52
+ }
53
+ if (!foundLocale) {
54
+ return { locale: getDefaultLocale() };
50
55
  }
51
56
  return {
52
- locale: (foundLocale && minimizedAvailableLocaleMap[foundLocale]) ||
53
- getDefaultLocale(),
57
+ locale: minimizedAvailableLocaleMap[foundLocale] || foundLocale,
54
58
  };
55
59
  }
56
60
  exports.BestFitMatcher = BestFitMatcher;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
3
+ * @param locales
4
+ */
5
+ export declare function CanonicalizeLocaleList(locales?: string | string[]): string[];
6
+ //# sourceMappingURL=CanonicalizeLocaleList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../../packages/intl-localematcher/abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5E"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CanonicalizeLocaleList = void 0;
4
+ /**
5
+ * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
6
+ * @param locales
7
+ */
8
+ function CanonicalizeLocaleList(locales) {
9
+ // TODO
10
+ return Intl.getCanonicalLocales(locales);
11
+ }
12
+ exports.CanonicalizeLocaleList = CanonicalizeLocaleList;
@@ -14,7 +14,7 @@ function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
14
14
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
15
15
  var locale = requestedLocales_1[_i];
16
16
  var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, '');
17
- var availableLocale = BestAvailableLocale_1.BestAvailableLocale(availableLocales, noExtensionLocale);
17
+ var availableLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(availableLocales, noExtensionLocale);
18
18
  if (availableLocale) {
19
19
  result.locale = availableLocale;
20
20
  if (locale !== noExtensionLocale) {
@@ -13,7 +13,7 @@ function LookupSupportedLocales(availableLocales, requestedLocales) {
13
13
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
14
14
  var locale = requestedLocales_1[_i];
15
15
  var noExtensionLocale = locale.replace(utils_1.UNICODE_EXTENSION_SEQUENCE_REGEX, '');
16
- var availableLocale = BestAvailableLocale_1.BestAvailableLocale(availableLocales, noExtensionLocale);
16
+ var availableLocale = (0, BestAvailableLocale_1.BestAvailableLocale)(availableLocales, noExtensionLocale);
17
17
  if (availableLocale) {
18
18
  subset.push(availableLocale);
19
19
  }
@@ -12,42 +12,42 @@ function ResolveLocale(availableLocales, requestedLocales, options, relevantExte
12
12
  var matcher = options.localeMatcher;
13
13
  var r;
14
14
  if (matcher === 'lookup') {
15
- r = LookupMatcher_1.LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
15
+ r = (0, LookupMatcher_1.LookupMatcher)(availableLocales, requestedLocales, getDefaultLocale);
16
16
  }
17
17
  else {
18
- r = BestFitMatcher_1.BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
18
+ r = (0, BestFitMatcher_1.BestFitMatcher)(availableLocales, requestedLocales, getDefaultLocale);
19
19
  }
20
20
  var foundLocale = r.locale;
21
21
  var result = { locale: '', dataLocale: foundLocale };
22
22
  var supportedExtension = '-u';
23
23
  for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
24
24
  var key = relevantExtensionKeys_1[_i];
25
- utils_1.invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
25
+ (0, utils_1.invariant)(foundLocale in localeData, "Missing locale data for ".concat(foundLocale));
26
26
  var foundLocaleData = localeData[foundLocale];
27
- utils_1.invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
27
+ (0, utils_1.invariant)(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data ".concat(key, " must be an object"));
28
28
  var keyLocaleData = foundLocaleData[key];
29
- utils_1.invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
29
+ (0, utils_1.invariant)(Array.isArray(keyLocaleData), "keyLocaleData for ".concat(key, " must be an array"));
30
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);
31
+ (0, utils_1.invariant)(typeof value === 'string' || value === null, "value must be string or null but got ".concat(typeof value, " in key ").concat(key));
32
32
  var supportedExtensionAddition = '';
33
33
  if (r.extension) {
34
- var requestedValue = UnicodeExtensionValue_1.UnicodeExtensionValue(r.extension, key);
34
+ var requestedValue = (0, UnicodeExtensionValue_1.UnicodeExtensionValue)(r.extension, key);
35
35
  if (requestedValue !== undefined) {
36
36
  if (requestedValue !== '') {
37
37
  if (~keyLocaleData.indexOf(requestedValue)) {
38
38
  value = requestedValue;
39
- supportedExtensionAddition = "-" + key + "-" + value;
39
+ supportedExtensionAddition = "-".concat(key, "-").concat(value);
40
40
  }
41
41
  }
42
42
  else if (~requestedValue.indexOf('true')) {
43
43
  value = 'true';
44
- supportedExtensionAddition = "-" + key;
44
+ supportedExtensionAddition = "-".concat(key);
45
45
  }
46
46
  }
47
47
  }
48
48
  if (key in options) {
49
49
  var optionsValue = options[key];
50
- utils_1.invariant(typeof optionsValue === 'string' ||
50
+ (0, utils_1.invariant)(typeof optionsValue === 'string' ||
51
51
  typeof optionsValue === 'undefined' ||
52
52
  optionsValue === null, 'optionsValue must be String, Undefined or Null');
53
53
  if (~keyLocaleData.indexOf(optionsValue)) {
@@ -8,9 +8,9 @@ var utils_1 = require("./utils");
8
8
  * @param key
9
9
  */
10
10
  function UnicodeExtensionValue(extension, key) {
11
- utils_1.invariant(key.length === 2, 'key must have 2 elements');
11
+ (0, utils_1.invariant)(key.length === 2, 'key must have 2 elements');
12
12
  var size = extension.length;
13
- var searchValue = "-" + key + "-";
13
+ var searchValue = "-".concat(key, "-");
14
14
  var pos = extension.indexOf(searchValue);
15
15
  if (pos !== -1) {
16
16
  var start = pos + 4;
@@ -40,7 +40,7 @@ function UnicodeExtensionValue(extension, key) {
40
40
  }
41
41
  return extension.slice(start, end);
42
42
  }
43
- searchValue = "-" + key;
43
+ searchValue = "-".concat(key);
44
44
  pos = extension.indexOf(searchValue);
45
45
  if (pos !== -1 && pos + 3 === size) {
46
46
  return '';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/intl-localematcher/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;CACjC;AAED,wBAAgB,KAAK,CACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR;AAED,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/intl-localematcher/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;CACjC;AAED,wBAAgB,KAAK,CACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR;AAED,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA"}
package/index.js CHANGED
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResolveLocale = exports.LookupSupportedLocales = exports.match = void 0;
4
+ var CanonicalizeLocaleList_1 = require("./abstract/CanonicalizeLocaleList");
4
5
  var ResolveLocale_1 = require("./abstract/ResolveLocale");
5
6
  function match(requestedLocales, availableLocales, defaultLocale, opts) {
6
7
  var locales = availableLocales.reduce(function (all, l) {
7
8
  all.add(l);
8
9
  return all;
9
10
  }, new Set());
10
- return ResolveLocale_1.ResolveLocale(locales, requestedLocales, {
11
+ return (0, ResolveLocale_1.ResolveLocale)(locales, (0, CanonicalizeLocaleList_1.CanonicalizeLocaleList)(requestedLocales), {
11
12
  localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',
12
13
  }, [], {}, function () { return defaultLocale; }).locale;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../../packages/intl-localematcher/abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAG3C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CAyDrB"}
1
+ {"version":3,"file":"BestFitMatcher.d.ts","sourceRoot":"","sources":["../../../../../../../packages/intl-localematcher/abstract/BestFitMatcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAG3C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,MAAM,GAC7B,mBAAmB,CA2DrB"}
@@ -7,17 +7,19 @@ import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';
7
7
  * @param getDefaultLocale
8
8
  */
9
9
  export function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
10
- var minimizedAvailableLocaleMap = Array.from(availableLocales).reduce(function (all, l) {
11
- all[l] = l;
12
- return all;
13
- }, {});
10
+ var minimizedAvailableLocaleMap = {};
14
11
  var minimizedAvailableLocales = new Set();
15
12
  availableLocales.forEach(function (locale) {
16
13
  var minimizedLocale = new Intl.Locale(locale)
17
14
  .minimize()
18
15
  .toString();
16
+ var canonicalizedLocale = Intl.getCanonicalLocales(locale)[0] || locale;
19
17
  minimizedAvailableLocaleMap[minimizedLocale] = locale;
18
+ minimizedAvailableLocaleMap[locale] = locale;
19
+ minimizedAvailableLocaleMap[canonicalizedLocale] = locale;
20
20
  minimizedAvailableLocales.add(minimizedLocale);
21
+ minimizedAvailableLocales.add(locale);
22
+ minimizedAvailableLocales.add(canonicalizedLocale);
21
23
  });
22
24
  var foundLocale;
23
25
  for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
@@ -45,8 +47,10 @@ export function BestFitMatcher(availableLocales, requestedLocales, getDefaultLoc
45
47
  // Lookup algo on maximized locale
46
48
  foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
47
49
  }
50
+ if (!foundLocale) {
51
+ return { locale: getDefaultLocale() };
52
+ }
48
53
  return {
49
- locale: (foundLocale && minimizedAvailableLocaleMap[foundLocale]) ||
50
- getDefaultLocale(),
54
+ locale: minimizedAvailableLocaleMap[foundLocale] || foundLocale,
51
55
  };
52
56
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
3
+ * @param locales
4
+ */
5
+ export declare function CanonicalizeLocaleList(locales?: string | string[]): string[];
6
+ //# sourceMappingURL=CanonicalizeLocaleList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../../../packages/intl-localematcher/abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5E"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
3
+ * @param locales
4
+ */
5
+ export function CanonicalizeLocaleList(locales) {
6
+ // TODO
7
+ return Intl.getCanonicalLocales(locales);
8
+ }
@@ -19,13 +19,13 @@ export function ResolveLocale(availableLocales, requestedLocales, options, relev
19
19
  var supportedExtension = '-u';
20
20
  for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
21
21
  var key = relevantExtensionKeys_1[_i];
22
- invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
22
+ invariant(foundLocale in localeData, "Missing locale data for ".concat(foundLocale));
23
23
  var foundLocaleData = localeData[foundLocale];
24
- invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
24
+ invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data ".concat(key, " must be an object"));
25
25
  var keyLocaleData = foundLocaleData[key];
26
- invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
26
+ invariant(Array.isArray(keyLocaleData), "keyLocaleData for ".concat(key, " must be an array"));
27
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);
28
+ invariant(typeof value === 'string' || value === null, "value must be string or null but got ".concat(typeof value, " in key ").concat(key));
29
29
  var supportedExtensionAddition = '';
30
30
  if (r.extension) {
31
31
  var requestedValue = UnicodeExtensionValue(r.extension, key);
@@ -33,12 +33,12 @@ export function ResolveLocale(availableLocales, requestedLocales, options, relev
33
33
  if (requestedValue !== '') {
34
34
  if (~keyLocaleData.indexOf(requestedValue)) {
35
35
  value = requestedValue;
36
- supportedExtensionAddition = "-" + key + "-" + value;
36
+ supportedExtensionAddition = "-".concat(key, "-").concat(value);
37
37
  }
38
38
  }
39
39
  else if (~requestedValue.indexOf('true')) {
40
40
  value = 'true';
41
- supportedExtensionAddition = "-" + key;
41
+ supportedExtensionAddition = "-".concat(key);
42
42
  }
43
43
  }
44
44
  }
@@ -7,7 +7,7 @@ import { invariant } from './utils';
7
7
  export function UnicodeExtensionValue(extension, key) {
8
8
  invariant(key.length === 2, 'key must have 2 elements');
9
9
  var size = extension.length;
10
- var searchValue = "-" + key + "-";
10
+ var searchValue = "-".concat(key, "-");
11
11
  var pos = extension.indexOf(searchValue);
12
12
  if (pos !== -1) {
13
13
  var start = pos + 4;
@@ -37,7 +37,7 @@ export function UnicodeExtensionValue(extension, key) {
37
37
  }
38
38
  return extension.slice(start, end);
39
39
  }
40
- searchValue = "-" + key;
40
+ searchValue = "-".concat(key);
41
41
  pos = extension.indexOf(searchValue);
42
42
  if (pos !== -1 && pos + 3 === size) {
43
43
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/intl-localematcher/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;CACjC;AAED,wBAAgB,KAAK,CACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR;AAED,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/intl-localematcher/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAA;CACjC;AAED,wBAAgB,KAAK,CACnB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR;AAED,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA"}
package/lib/index.js CHANGED
@@ -1,10 +1,11 @@
1
+ import { CanonicalizeLocaleList } from './abstract/CanonicalizeLocaleList';
1
2
  import { ResolveLocale } from './abstract/ResolveLocale';
2
3
  export function match(requestedLocales, availableLocales, defaultLocale, opts) {
3
4
  var locales = availableLocales.reduce(function (all, l) {
4
5
  all.add(l);
5
6
  return all;
6
7
  }, new Set());
7
- return ResolveLocale(locales, requestedLocales, {
8
+ return ResolveLocale(locales, CanonicalizeLocaleList(requestedLocales), {
8
9
  localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',
9
10
  }, [], {}, function () { return defaultLocale; }).locale;
10
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/intl-localematcher",
3
- "version": "0.2.19",
3
+ "version": "0.2.23",
4
4
  "description": "Intl.LocaleMatcher ponyfill",
5
5
  "keywords": [
6
6
  "intl",