@formatjs/intl-pluralrules 1.4.2 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,16 @@
20
20
  }
21
21
  return Object(arg);
22
22
  }
23
+ /**
24
+ * https://tc39.es/ecma262/#sec-tostring
25
+ */
26
+ function toString(o) {
27
+ // Only symbol is irregular...
28
+ if (typeof o === 'symbol') {
29
+ throw TypeError('Cannot convert a Symbol value to a string');
30
+ }
31
+ return String(o);
32
+ }
23
33
  /**
24
34
  * https://tc39.es/ecma402/#sec-getoption
25
35
  * @param opts
@@ -39,10 +49,10 @@
39
49
  value = Boolean(value);
40
50
  }
41
51
  if (type === 'string') {
42
- value = String(value);
52
+ value = toString(value);
43
53
  }
44
54
  if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {
45
- throw new RangeError(value + " in not within " + values);
55
+ throw new RangeError(value + " is not within " + values.join(', '));
46
56
  }
47
57
  return value;
48
58
  }
@@ -104,40 +114,40 @@
104
114
  /**
105
115
  * https://tc39.es/ecma402/#sec-setnfdigitoptions
106
116
  * https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-setnfdigitoptions
107
- * @param pl
117
+ * @param intlObj
108
118
  * @param opts
109
119
  * @param mnfdDefault
110
120
  * @param mxfdDefault
111
121
  */
112
- function setNumberFormatDigitOptions(internalSlotMap, pl, opts, mnfdDefault, mxfdDefault, notation) {
122
+ function setNumberFormatDigitOptions(internalSlotMap, intlObj, opts, mnfdDefault, mxfdDefault) {
113
123
  var mnid = getNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);
114
124
  var mnfd = opts.minimumFractionDigits;
115
125
  var mxfd = opts.maximumFractionDigits;
116
126
  var mnsd = opts.minimumSignificantDigits;
117
127
  var mxsd = opts.maximumSignificantDigits;
118
- setInternalSlot(internalSlotMap, pl, 'minimumIntegerDigits', mnid);
128
+ setInternalSlot(internalSlotMap, intlObj, 'minimumIntegerDigits', mnid);
119
129
  if (mnsd !== undefined || mxsd !== undefined) {
120
- setInternalSlot(internalSlotMap, pl, 'roundingType', 'significantDigits');
130
+ setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'significantDigits');
121
131
  mnsd = defaultNumberOption(mnsd, 1, 21, 1);
122
132
  mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);
123
- setInternalSlot(internalSlotMap, pl, 'minimumSignificantDigits', mnsd);
124
- setInternalSlot(internalSlotMap, pl, 'maximumSignificantDigits', mxsd);
133
+ setInternalSlot(internalSlotMap, intlObj, 'minimumSignificantDigits', mnsd);
134
+ setInternalSlot(internalSlotMap, intlObj, 'maximumSignificantDigits', mxsd);
125
135
  }
126
136
  else if (mnfd !== undefined || mxfd !== undefined) {
127
- setInternalSlot(internalSlotMap, pl, 'roundingType', 'fractionDigits');
137
+ setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');
128
138
  mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);
129
139
  var mxfdActualDefault = Math.max(mnfd, mxfdDefault);
130
140
  mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);
131
- setInternalSlot(internalSlotMap, pl, 'minimumFractionDigits', mnfd);
132
- setInternalSlot(internalSlotMap, pl, 'maximumFractionDigits', mxfd);
141
+ setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfd);
142
+ setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfd);
133
143
  }
134
- else if (notation === 'compact') {
135
- setInternalSlot(internalSlotMap, pl, 'roundingType', 'compactRounding');
144
+ else if (getInternalSlot(internalSlotMap, intlObj, 'notation') === 'compact') {
145
+ setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'compactRounding');
136
146
  }
137
147
  else {
138
- setInternalSlot(internalSlotMap, pl, 'roundingType', 'fractionDigits');
139
- setInternalSlot(internalSlotMap, pl, 'minimumFractionDigits', mnfdDefault);
140
- setInternalSlot(internalSlotMap, pl, 'maximumFractionDigits', mxfdDefault);
148
+ setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');
149
+ setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfdDefault);
150
+ setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfdDefault);
141
151
  }
142
152
  }
143
153
 
@@ -507,7 +517,7 @@
507
517
  var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
508
518
  opt.localeMatcher = matcher;
509
519
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));
510
- setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3, 'standard');
520
+ setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3);
511
521
  var r = createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);
512
522
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);
513
523
  }
@@ -614,7 +624,10 @@
614
624
  // Meta fixes for test262
615
625
  }
616
626
 
617
- if (typeof Intl.PluralRules === 'undefined') {
627
+ if (typeof Intl.PluralRules === 'undefined' ||
628
+ (!Intl.PluralRules.polyfilled &&
629
+ new Intl.PluralRules('en', { minimumFractionDigits: 2 }).select(1) ===
630
+ 'one')) {
618
631
  Object.defineProperty(Intl, 'PluralRules', {
619
632
  value: PluralRules,
620
633
  writable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/get-canonical-locales.js","../../../intl-utils/lib/resolve-locale.js","../../lib/core.js","../../lib/polyfill.js"],"sourcesContent":["export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","import aliases from './aliases';\nimport parentLocales from './parentLocales';\nimport { invariant } from './invariant';\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function toObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function getOption(opts, prop, type, values, fallback) {\n // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = String(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(value + \" in not within \" + values);\n }\n return value;\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function defaultNumberOption(val, min, max, fallback) {\n if (val !== undefined) {\n val = Number(val);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(val + \" is outside of range [\" + min + \", \" + max + \"]\");\n }\n return Math.floor(val);\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nexport function getNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return defaultNumberOption(val, minimum, maximum, fallback);\n}\nexport function getAliasesByLang(lang) {\n return Object.keys(aliases).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = aliases[locale];\n }\n return all;\n }, {});\n}\nexport function getParentLocalesByLang(lang) {\n return Object.keys(parentLocales).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = parentLocales[locale];\n }\n return all;\n }, {});\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var k in props) {\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(pl + \" InternalSlot has not been initialized\");\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\nexport function partitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \" + pattern);\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n * https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-setnfdigitoptions\n * @param pl\n * @param opts\n * @param mnfdDefault\n * @param mxfdDefault\n */\nexport function setNumberFormatDigitOptions(internalSlotMap, pl, opts, mnfdDefault, mxfdDefault, notation) {\n var mnid = getNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n setInternalSlot(internalSlotMap, pl, 'minimumIntegerDigits', mnid);\n if (mnsd !== undefined || mxsd !== undefined) {\n setInternalSlot(internalSlotMap, pl, 'roundingType', 'significantDigits');\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n setInternalSlot(internalSlotMap, pl, 'minimumSignificantDigits', mnsd);\n setInternalSlot(internalSlotMap, pl, 'maximumSignificantDigits', mxsd);\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n setInternalSlot(internalSlotMap, pl, 'roundingType', 'fractionDigits');\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n setInternalSlot(internalSlotMap, pl, 'minimumFractionDigits', mnfd);\n setInternalSlot(internalSlotMap, pl, 'maximumFractionDigits', mxfd);\n }\n else if (notation === 'compact') {\n setInternalSlot(internalSlotMap, pl, 'roundingType', 'compactRounding');\n }\n else {\n setInternalSlot(internalSlotMap, pl, 'roundingType', 'fractionDigits');\n setInternalSlot(internalSlotMap, pl, 'minimumFractionDigits', mnfdDefault);\n setInternalSlot(internalSlotMap, pl, 'maximumFractionDigits', mxfdDefault);\n }\n}\nexport function objectIs(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n","/**\n * IE11-safe version of getCanonicalLocales since it's ES2016\n * @param locales locales\n */\nexport function getCanonicalLocales(locales) {\n // IE11\n var getCanonicalLocales = Intl.getCanonicalLocales;\n if (typeof getCanonicalLocales === 'function') {\n return getCanonicalLocales(locales);\n }\n return Intl.NumberFormat.supportedLocalesOf(locales || '');\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { getCanonicalLocales } from './get-canonical-locales';\nimport { invariant } from './invariant';\nimport { toObject, getOption } from './polyfill-utils';\nexport function createResolveLocale(getDefaultLocale) {\n var lookupMatcher = createLookupMatcher(getDefaultLocale);\n var bestFitMatcher = createBestFitMatcher(getDefaultLocale);\n /**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\n return function resolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = lookupMatcher(availableLocales, requestedLocales);\n }\n else {\n r = bestFitMatcher(availableLocales, requestedLocales);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \" + key + \" must be an object\");\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \" + key + \" must be an array\");\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, 'value must be string or null');\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = unicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\" + key + \"-\" + value;\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\" + key;\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n };\n}\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nfunction unicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\" + key + \"-\";\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\" + key;\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\nvar UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nfunction bestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (~availableLocales.indexOf(candidate)) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\nfunction createLookupMatcher(getDefaultLocale) {\n /**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n */\n return function lookupMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nfunction createBestFitMatcher(getDefaultLocale) {\n return function bestFitMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_2 = requestedLocales; _i < requestedLocales_2.length; _i++) {\n var locale = requestedLocales_2[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nexport function getLocaleHierarchy(locale, aliases, parentLocales) {\n var results = [locale];\n if (aliases[locale]) {\n locale = aliases[locale];\n results.push(locale);\n }\n var parentLocale = parentLocales[locale];\n if (parentLocale) {\n results.push(parentLocale);\n }\n var localeParts = locale.split('-');\n for (var i = localeParts.length; i > 1; i--) {\n results.push(localeParts.slice(0, i - 1).join('-'));\n }\n return results;\n}\nfunction lookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_3 = requestedLocales; _i < requestedLocales_3.length; _i++) {\n var locale = requestedLocales_3[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\nexport function supportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = toObject(options);\n matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return lookupSupportedLocales(availableLocales, requestedLocales);\n }\n return lookupSupportedLocales(availableLocales, requestedLocales);\n}\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\nexport function unpackData(locale, localeData, \n/** By default shallow merge the dictionaries. */\nreducer) {\n if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }\n var localeHierarchy = getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);\n var dataToMerge = localeHierarchy\n .map(function (l) { return localeData.data[l]; })\n .filter(Boolean);\n if (!dataToMerge.length) {\n throw new MissingLocaleDataError(\"Missing locale data for \\\"\" + locale + \"\\\", lookup hierarchy: \" + localeHierarchy.join(', '));\n }\n dataToMerge.reverse();\n return dataToMerge.reduce(reducer, {});\n}\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { toObject, getOption, unpackData, getCanonicalLocales, createResolveLocale, supportedLocales, isMissingLocaleDataError, setInternalSlot, getInternalSlot, setNumberFormatDigitOptions, } from '@formatjs/intl-utils';\nfunction validateInstance(instance, method) {\n if (!(instance instanceof PluralRules)) {\n throw new TypeError(\"Method Intl.PluralRules.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/ecma402/#sec-torawprecision\n * @param x\n * @param minPrecision\n * @param maxPrecision\n */\nfunction toRawPrecision(x, minPrecision, maxPrecision) {\n var m = x.toPrecision(maxPrecision);\n if (~m.indexOf('.') && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n return m.slice(0, m.length - 1);\n }\n }\n return m;\n}\n/**\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x\n * @param minInteger\n * @param minFraction\n * @param maxFraction\n */\nfunction toRawFixed(x, minInteger, minFraction, maxFraction) {\n var cut = maxFraction - minFraction;\n var m = x.toFixed(maxFraction);\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, m.length - 1);\n }\n var int = m.split('.')[0].length;\n if (int < minInteger) {\n var z = '';\n for (; z.length < minInteger - int; z += '0')\n ;\n m = z + m;\n }\n return m;\n}\nfunction formatNumericToString(internalSlotMap, pl, x) {\n var minimumSignificantDigits = getInternalSlot(internalSlotMap, pl, 'minimumSignificantDigits');\n var maximumSignificantDigits = getInternalSlot(internalSlotMap, pl, 'maximumSignificantDigits');\n if (minimumSignificantDigits !== undefined &&\n maximumSignificantDigits !== undefined) {\n return toRawPrecision(x, minimumSignificantDigits, maximumSignificantDigits);\n }\n return toRawFixed(x, getInternalSlot(internalSlotMap, pl, 'minimumIntegerDigits'), getInternalSlot(internalSlotMap, pl, 'minimumFractionDigits'), getInternalSlot(internalSlotMap, pl, 'maximumFractionDigits'));\n}\nvar PluralRules = /** @class */ (function () {\n function PluralRules(locales, options) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof PluralRules ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.PluralRules must be called with 'new'\");\n }\n var requestedLocales = getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : toObject(options);\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'initializedPluralRules', true);\n var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));\n setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3, 'standard');\n var r = createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n }\n PluralRules.prototype.resolvedOptions = function () {\n var _this = this;\n validateInstance(this, 'resolvedOptions');\n var opts = Object.create(null);\n opts.locale = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n opts.type = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n [\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n ].forEach(function (field) {\n var val = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, _this, field);\n if (val !== undefined) {\n opts[field] = val;\n }\n });\n opts.pluralCategories = __spreadArrays(PluralRules.localeData[opts.locale].categories[opts.type]);\n return opts;\n };\n PluralRules.prototype.select = function (val) {\n validateInstance(this, 'select');\n var locale = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n var type = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n return PluralRules.localeData[locale].fn(formatNumericToString(PluralRules.__INTERNAL_SLOT_MAP__, this, Math.abs(Number(val))), type == 'ordinal');\n };\n PluralRules.prototype.toString = function () {\n return '[object Intl.PluralRules]';\n };\n PluralRules.supportedLocalesOf = function (locales, options) {\n return supportedLocales(PluralRules.availableLocales, getCanonicalLocales(locales), options);\n };\n PluralRules.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n var _loop_1 = function (datum) {\n var availableLocales = Object.keys(__spreadArrays(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {\n all[k] = true;\n return all;\n }, {}));\n availableLocales.forEach(function (locale) {\n try {\n PluralRules.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n if (isMissingLocaleDataError(e)) {\n // If we just don't have data for certain locale, that's ok\n return;\n }\n throw e;\n }\n });\n };\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\n _loop_1(datum);\n }\n PluralRules.availableLocales = Object.keys(PluralRules.localeData);\n if (!PluralRules.__defaultLocale) {\n PluralRules.__defaultLocale = PluralRules.availableLocales[0];\n }\n };\n PluralRules.getDefaultLocale = function () {\n return PluralRules.__defaultLocale;\n };\n PluralRules.localeData = {};\n PluralRules.availableLocales = [];\n PluralRules.__defaultLocale = 'en';\n PluralRules.relevantExtensionKeys = [];\n PluralRules.polyfilled = true;\n PluralRules.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return PluralRules;\n}());\nexport { PluralRules };\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/PluralRules/length.js\n Object.defineProperty(PluralRules, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n Object.defineProperty(PluralRules.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(PluralRules.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (ex) {\n // Meta fixes for test262\n}\n","import { PluralRules } from './core';\nif (typeof Intl.PluralRules === 'undefined') {\n Object.defineProperty(Intl, 'PluralRules', {\n value: PluralRules,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"polyfill.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/get-canonical-locales.js","../../../intl-utils/lib/resolve-locale.js","../../lib/core.js","../../lib/polyfill.js"],"sourcesContent":["export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","import aliases from './aliases';\nimport parentLocales from './parentLocales';\nimport { invariant } from './invariant';\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function toObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function toString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function getOption(opts, prop, type, values, fallback) {\n // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = toString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(value + \" is not within \" + values.join(', '));\n }\n return value;\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function defaultNumberOption(val, min, max, fallback) {\n if (val !== undefined) {\n val = Number(val);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(val + \" is outside of range [\" + min + \", \" + max + \"]\");\n }\n return Math.floor(val);\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nexport function getNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return defaultNumberOption(val, minimum, maximum, fallback);\n}\nexport function getAliasesByLang(lang) {\n return Object.keys(aliases).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = aliases[locale];\n }\n return all;\n }, {});\n}\nexport function getParentLocalesByLang(lang) {\n return Object.keys(parentLocales).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = parentLocales[locale];\n }\n return all;\n }, {});\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(pl + \" InternalSlot has not been initialized\");\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\nexport function partitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \" + pattern);\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n * https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-setnfdigitoptions\n * @param intlObj\n * @param opts\n * @param mnfdDefault\n * @param mxfdDefault\n */\nexport function setNumberFormatDigitOptions(internalSlotMap, intlObj, opts, mnfdDefault, mxfdDefault) {\n var mnid = getNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n setInternalSlot(internalSlotMap, intlObj, 'minimumIntegerDigits', mnid);\n if (mnsd !== undefined || mxsd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'significantDigits');\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n setInternalSlot(internalSlotMap, intlObj, 'minimumSignificantDigits', mnsd);\n setInternalSlot(internalSlotMap, intlObj, 'maximumSignificantDigits', mxsd);\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfd);\n setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfd);\n }\n else if (getInternalSlot(internalSlotMap, intlObj, 'notation') === 'compact') {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'compactRounding');\n }\n else {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');\n setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfdDefault);\n setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfdDefault);\n }\n}\nexport function objectIs(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\n/**\n * https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-iswellformedcurrencycode\n * @param currency\n */\nexport function isWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n","/**\n * IE11-safe version of getCanonicalLocales since it's ES2016\n * @param locales locales\n */\nexport function getCanonicalLocales(locales) {\n // IE11\n var getCanonicalLocales = Intl.getCanonicalLocales;\n if (typeof getCanonicalLocales === 'function') {\n return getCanonicalLocales(locales);\n }\n return Intl.NumberFormat.supportedLocalesOf(locales || '');\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { getCanonicalLocales } from './get-canonical-locales';\nimport { invariant } from './invariant';\nimport { toObject, getOption } from './polyfill-utils';\nexport function createResolveLocale(getDefaultLocale) {\n var lookupMatcher = createLookupMatcher(getDefaultLocale);\n var bestFitMatcher = createBestFitMatcher(getDefaultLocale);\n /**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\n return function resolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = lookupMatcher(availableLocales, requestedLocales);\n }\n else {\n r = bestFitMatcher(availableLocales, requestedLocales);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \" + key + \" must be an object\");\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \" + key + \" must be an array\");\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, 'value must be string or null');\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = unicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\" + key + \"-\" + value;\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\" + key;\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n };\n}\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nfunction unicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\" + key + \"-\";\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\" + key;\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\nvar UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nfunction bestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (~availableLocales.indexOf(candidate)) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\nfunction createLookupMatcher(getDefaultLocale) {\n /**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n */\n return function lookupMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nfunction createBestFitMatcher(getDefaultLocale) {\n return function bestFitMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_2 = requestedLocales; _i < requestedLocales_2.length; _i++) {\n var locale = requestedLocales_2[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nexport function getLocaleHierarchy(locale, aliases, parentLocales) {\n var results = [locale];\n if (aliases[locale]) {\n locale = aliases[locale];\n results.push(locale);\n }\n var parentLocale = parentLocales[locale];\n if (parentLocale) {\n results.push(parentLocale);\n }\n var localeParts = locale.split('-');\n for (var i = localeParts.length; i > 1; i--) {\n results.push(localeParts.slice(0, i - 1).join('-'));\n }\n return results;\n}\nfunction lookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_3 = requestedLocales; _i < requestedLocales_3.length; _i++) {\n var locale = requestedLocales_3[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\nexport function supportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = toObject(options);\n matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return lookupSupportedLocales(availableLocales, requestedLocales);\n }\n return lookupSupportedLocales(availableLocales, requestedLocales);\n}\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\nexport function unpackData(locale, localeData, \n/** By default shallow merge the dictionaries. */\nreducer) {\n if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }\n var localeHierarchy = getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);\n var dataToMerge = localeHierarchy\n .map(function (l) { return localeData.data[l]; })\n .filter(Boolean);\n if (!dataToMerge.length) {\n throw new MissingLocaleDataError(\"Missing locale data for \\\"\" + locale + \"\\\", lookup hierarchy: \" + localeHierarchy.join(', '));\n }\n dataToMerge.reverse();\n return dataToMerge.reduce(reducer, {});\n}\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { toObject, getOption, unpackData, getCanonicalLocales, createResolveLocale, supportedLocales, isMissingLocaleDataError, setInternalSlot, getInternalSlot, setNumberFormatDigitOptions, } from '@formatjs/intl-utils';\nfunction validateInstance(instance, method) {\n if (!(instance instanceof PluralRules)) {\n throw new TypeError(\"Method Intl.PluralRules.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/ecma402/#sec-torawprecision\n * @param x\n * @param minPrecision\n * @param maxPrecision\n */\nfunction toRawPrecision(x, minPrecision, maxPrecision) {\n var m = x.toPrecision(maxPrecision);\n if (~m.indexOf('.') && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n return m.slice(0, m.length - 1);\n }\n }\n return m;\n}\n/**\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x\n * @param minInteger\n * @param minFraction\n * @param maxFraction\n */\nfunction toRawFixed(x, minInteger, minFraction, maxFraction) {\n var cut = maxFraction - minFraction;\n var m = x.toFixed(maxFraction);\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, m.length - 1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, m.length - 1);\n }\n var int = m.split('.')[0].length;\n if (int < minInteger) {\n var z = '';\n for (; z.length < minInteger - int; z += '0')\n ;\n m = z + m;\n }\n return m;\n}\nfunction formatNumericToString(internalSlotMap, pl, x) {\n var minimumSignificantDigits = getInternalSlot(internalSlotMap, pl, 'minimumSignificantDigits');\n var maximumSignificantDigits = getInternalSlot(internalSlotMap, pl, 'maximumSignificantDigits');\n if (minimumSignificantDigits !== undefined &&\n maximumSignificantDigits !== undefined) {\n return toRawPrecision(x, minimumSignificantDigits, maximumSignificantDigits);\n }\n return toRawFixed(x, getInternalSlot(internalSlotMap, pl, 'minimumIntegerDigits'), getInternalSlot(internalSlotMap, pl, 'minimumFractionDigits'), getInternalSlot(internalSlotMap, pl, 'maximumFractionDigits'));\n}\nvar PluralRules = /** @class */ (function () {\n function PluralRules(locales, options) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof PluralRules ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.PluralRules must be called with 'new'\");\n }\n var requestedLocales = getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : toObject(options);\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'initializedPluralRules', true);\n var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));\n setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3);\n var r = createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);\n setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n }\n PluralRules.prototype.resolvedOptions = function () {\n var _this = this;\n validateInstance(this, 'resolvedOptions');\n var opts = Object.create(null);\n opts.locale = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n opts.type = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n [\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n ].forEach(function (field) {\n var val = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, _this, field);\n if (val !== undefined) {\n opts[field] = val;\n }\n });\n opts.pluralCategories = __spreadArrays(PluralRules.localeData[opts.locale].categories[opts.type]);\n return opts;\n };\n PluralRules.prototype.select = function (val) {\n validateInstance(this, 'select');\n var locale = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale');\n var type = getInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type');\n return PluralRules.localeData[locale].fn(formatNumericToString(PluralRules.__INTERNAL_SLOT_MAP__, this, Math.abs(Number(val))), type == 'ordinal');\n };\n PluralRules.prototype.toString = function () {\n return '[object Intl.PluralRules]';\n };\n PluralRules.supportedLocalesOf = function (locales, options) {\n return supportedLocales(PluralRules.availableLocales, getCanonicalLocales(locales), options);\n };\n PluralRules.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n var _loop_1 = function (datum) {\n var availableLocales = Object.keys(__spreadArrays(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {\n all[k] = true;\n return all;\n }, {}));\n availableLocales.forEach(function (locale) {\n try {\n PluralRules.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n if (isMissingLocaleDataError(e)) {\n // If we just don't have data for certain locale, that's ok\n return;\n }\n throw e;\n }\n });\n };\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\n _loop_1(datum);\n }\n PluralRules.availableLocales = Object.keys(PluralRules.localeData);\n if (!PluralRules.__defaultLocale) {\n PluralRules.__defaultLocale = PluralRules.availableLocales[0];\n }\n };\n PluralRules.getDefaultLocale = function () {\n return PluralRules.__defaultLocale;\n };\n PluralRules.localeData = {};\n PluralRules.availableLocales = [];\n PluralRules.__defaultLocale = 'en';\n PluralRules.relevantExtensionKeys = [];\n PluralRules.polyfilled = true;\n PluralRules.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return PluralRules;\n}());\nexport { PluralRules };\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/PluralRules/length.js\n Object.defineProperty(PluralRules, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n Object.defineProperty(PluralRules.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(PluralRules.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (ex) {\n // Meta fixes for test262\n}\n","import { PluralRules } from './core';\nif (typeof Intl.PluralRules === 'undefined' ||\n (!Intl.PluralRules.polyfilled &&\n new Intl.PluralRules('en', { minimumFractionDigits: 2 }).select(1) ===\n 'one')) {\n Object.defineProperty(Intl, 'PluralRules', {\n value: PluralRules,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n"],"names":["this"],"mappings":"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"}
package/dist-es6/core.js CHANGED
@@ -74,7 +74,7 @@ export class PluralRules {
74
74
  const matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
75
75
  opt.localeMatcher = matcher;
76
76
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));
77
- setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3, 'standard');
77
+ setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3);
78
78
  const r = createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);
79
79
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);
80
80
  }
@@ -1,5 +1,8 @@
1
1
  import { PluralRules } from './core';
2
- if (typeof Intl.PluralRules === 'undefined') {
2
+ if (typeof Intl.PluralRules === 'undefined' ||
3
+ (!Intl.PluralRules.polyfilled &&
4
+ new Intl.PluralRules('en', { minimumFractionDigits: 2 }).select(1) ===
5
+ 'one')) {
3
6
  Object.defineProperty(Intl, 'PluralRules', {
4
7
  value: PluralRules,
5
8
  writable: true,
package/lib/core.js CHANGED
@@ -81,7 +81,7 @@ var PluralRules = /** @class */ (function () {
81
81
  var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
82
82
  opt.localeMatcher = matcher;
83
83
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'type', getOption(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal'));
84
- setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3, 'standard');
84
+ setNumberFormatDigitOptions(PluralRules.__INTERNAL_SLOT_MAP__, this, opts, 0, 3);
85
85
  var r = createResolveLocale(PluralRules.getDefaultLocale)(PluralRules.availableLocales, requestedLocales, opt, PluralRules.relevantExtensionKeys, PluralRules.localeData);
86
86
  setInternalSlot(PluralRules.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);
87
87
  }
package/lib/polyfill.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { PluralRules } from './core';
2
- if (typeof Intl.PluralRules === 'undefined') {
2
+ if (typeof Intl.PluralRules === 'undefined' ||
3
+ (!Intl.PluralRules.polyfilled &&
4
+ new Intl.PluralRules('en', { minimumFractionDigits: 2 }).select(1) ===
5
+ 'one')) {
3
6
  Object.defineProperty(Intl, 'PluralRules', {
4
7
  value: PluralRules,
5
8
  writable: true,
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/intl-pluralrules",
3
- "version": "1.4.2",
3
+ "version": "1.5.2",
4
4
  "description": "Polyfill for intl plural rules",
5
5
  "keywords": [
6
6
  "polyfill",
@@ -14,7 +14,7 @@
14
14
  "license": "MIT",
15
15
  "main": "dist/index.js",
16
16
  "module": "lib/index.js",
17
- "types": "dist/intl-pluralrules.d.ts",
17
+ "types": "lib/intl-pluralrules.d.ts",
18
18
  "files": [
19
19
  "dist-es6",
20
20
  "dist",
@@ -28,10 +28,10 @@
28
28
  "url": "git+https://github.com/formatjs/formatjs.git"
29
29
  },
30
30
  "devDependencies": {
31
- "formatjs-extract-cldr-data": "^10.0.2"
31
+ "formatjs-extract-cldr-data": "^10.1.1"
32
32
  },
33
33
  "dependencies": {
34
- "@formatjs/intl-utils": "^2.0.2"
34
+ "@formatjs/intl-utils": "^2.2.0"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "npm run cldr && npm run compile",
@@ -45,5 +45,5 @@
45
45
  "bugs": {
46
46
  "url": "https://github.com/formatjs/formatjs/issues"
47
47
  },
48
- "gitHead": "4143ae3da624e6f117d177cee70e57dac5444bd0"
48
+ "gitHead": "a7842673d8ad205171ad7c8cb8bb2f318b427c0c"
49
49
  }
package/src/core.ts CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  setInternalSlot,
13
13
  getInternalSlot,
14
14
  setNumberFormatDigitOptions,
15
+ NumberFormatDigitInternalSlots,
15
16
  } from '@formatjs/intl-utils';
16
17
 
17
18
  function validateInstance(instance: any, method: string) {
@@ -109,17 +110,10 @@ function formatNumericToString(
109
110
  );
110
111
  }
111
112
 
112
- interface PluralRulesInternal {
113
+ interface PluralRulesInternal extends NumberFormatDigitInternalSlots {
113
114
  initializedPluralRules: boolean;
114
115
  locale: string;
115
116
  type: 'cardinal' | 'ordinal';
116
- minimumIntegerDigits: number;
117
- minimumFractionDigits: number | undefined;
118
- maximumFractionDigits: number | undefined;
119
- minimumSignificantDigits: number | undefined;
120
- maximumSignificantDigits: number | undefined;
121
- roundingType: 'significantDigits' | 'fractionDigits' | 'compactRounding';
122
- notation: 'compact';
123
117
  }
124
118
 
125
119
  export class PluralRules implements Intl.PluralRules {
@@ -160,8 +154,7 @@ export class PluralRules implements Intl.PluralRules {
160
154
  this,
161
155
  opts,
162
156
  0,
163
- 3,
164
- 'standard'
157
+ 3
165
158
  );
166
159
  const r = createResolveLocale(PluralRules.getDefaultLocale)(
167
160
  PluralRules.availableLocales,
package/src/polyfill.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import {PluralRules} from './core';
2
2
 
3
- if (typeof Intl.PluralRules === 'undefined') {
3
+ if (
4
+ typeof Intl.PluralRules === 'undefined' ||
5
+ (!(Intl.PluralRules as any).polyfilled &&
6
+ new Intl.PluralRules('en', {minimumFractionDigits: 2} as any).select(1) ===
7
+ 'one')
8
+ ) {
4
9
  Object.defineProperty(Intl, 'PluralRules', {
5
10
  value: PluralRules,
6
11
  writable: true,