{"version":3,"file":"polyfill-intl-listformat.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//# sourceMappingURL=invariant.js.map","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//# sourceMappingURL=polyfill-utils.js.map","/**\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 // NOTE: we must NOT call `supportedLocalesOf` of a formatjs polyfill, or their implementation\n // will even eventually call this method recursively. Here we use `Intl.DateTimeFormat` since it\n // is not polyfilled by `@formatjs`.\n // TODO: Fix TypeScript type def for this bc undefined is just fine\n return Intl.DateTimeFormat.supportedLocalesOf(locales);\n}\n//# sourceMappingURL=get-canonical-locales.js.map","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//# sourceMappingURL=resolve-locale.js.map","var __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};\nvar __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, setInternalSlot, getCanonicalLocales, supportedLocales, createResolveLocale, getInternalSlot, partitionPattern, invariant, isLiteralPart, } from '@formatjs/intl-utils';\nfunction validateInstance(instance, method) {\n if (!(instance instanceof ListFormat)) {\n throw new TypeError(\"Method Intl.ListFormat.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/proposal-intl-list-format/#sec-createstringlistfromiterable\n * @param list list\n */\nfunction stringListFromIterable(list) {\n if (list === undefined) {\n return [];\n }\n var result = [];\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var el = list_1[_i];\n if (typeof el !== 'string') {\n throw new TypeError(\"array list[\" + list.indexOf(el) + \"] is not type String\");\n }\n result.push(el);\n }\n return result;\n}\nfunction createPartsFromList(internalSlotMap, lf, list) {\n var size = list.length;\n if (size === 0) {\n return [];\n }\n if (size === 2) {\n var pattern = getInternalSlot(internalSlotMap, lf, 'templatePair');\n var first = { type: 'element', value: list[0] };\n var second = { type: 'element', value: list[1] };\n return deconstructPattern(pattern, { '0': first, '1': second });\n }\n var last = {\n type: 'element',\n value: list[size - 1],\n };\n var parts = last;\n var i = size - 2;\n while (i >= 0) {\n var pattern = void 0;\n if (i === 0) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateStart');\n }\n else if (i < size - 2) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateMiddle');\n }\n else {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateEnd');\n }\n var head = { type: 'element', value: list[i] };\n parts = deconstructPattern(pattern, { '0': head, '1': parts });\n i--;\n }\n return parts;\n}\nfunction deconstructPattern(pattern, placeables) {\n var patternParts = partitionPattern(pattern);\n var result = [];\n for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {\n var patternPart = patternParts_1[_i];\n var part = patternPart.type;\n if (isLiteralPart(patternPart)) {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else {\n invariant(part in placeables, part + \" is missing from placables\");\n var subst = placeables[part];\n if (Array.isArray(subst)) {\n result.push.apply(result, subst);\n }\n else {\n result.push(subst);\n }\n }\n }\n return result;\n}\nvar ListFormat = /** @class */ (function () {\n function ListFormat(locales, options) {\n // test262/test/intl402/ListFormat/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 ListFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.ListFormat must be called with 'new'\");\n }\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'initializedListFormat', true);\n var requestedLocales = getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : toObject(options);\n var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n var localeData = ListFormat.localeData;\n var r = createResolveLocale(ListFormat.getDefaultLocale)(ListFormat.availableLocales, requestedLocales, opt, ListFormat.relevantExtensionKeys, localeData);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n var type = getOption(opts, 'type', 'string', ['conjunction', 'disjunction', 'unit'], 'conjunction');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type', type);\n var style = getOption(opts, 'style', 'string', ['long', 'short', 'narrow'], 'long');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style', style);\n var dataLocale = r.dataLocale;\n var dataLocaleData = localeData[dataLocale];\n var dataLocaleTypes = dataLocaleData[type];\n var templates = dataLocaleTypes[style];\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templatePair', templates.pair);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateStart', templates.start);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateMiddle', templates.middle);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateEnd', templates.end);\n }\n ListFormat.prototype.format = function (elements) {\n validateInstance(this, 'format');\n var result = '';\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return parts.value;\n }\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var p = parts_1[_i];\n result += p.value;\n }\n return result;\n };\n ListFormat.prototype.formatToParts = function (elements) {\n validateInstance(this, 'format');\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return [parts];\n }\n var result = [];\n for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) {\n var part = parts_2[_i];\n result.push(__assign({}, part));\n }\n return result;\n };\n ListFormat.prototype.resolvedOptions = function () {\n validateInstance(this, 'resolvedOptions');\n return {\n locale: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale'),\n type: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type'),\n style: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style'),\n };\n };\n ListFormat.supportedLocalesOf = function (locales, options) {\n // test262/test/intl402/ListFormat/constructor/supportedLocalesOf/result-type.js\n return supportedLocales(ListFormat.availableLocales, getCanonicalLocales(locales), options);\n };\n ListFormat.__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 ListFormat.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n // If we can't unpack this data, ignore the locale\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 ListFormat.availableLocales = Object.keys(ListFormat.localeData);\n if (!ListFormat.__defaultLocale) {\n ListFormat.__defaultLocale = ListFormat.availableLocales[0];\n }\n };\n ListFormat.getDefaultLocale = function () {\n return ListFormat.__defaultLocale;\n };\n ListFormat.localeData = {};\n ListFormat.availableLocales = [];\n ListFormat.__defaultLocale = 'en';\n ListFormat.relevantExtensionKeys = [];\n ListFormat.polyfilled = true;\n ListFormat.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return ListFormat;\n}());\nexport default ListFormat;\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(ListFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.ListFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/ListFormat/constructor/length.js\n Object.defineProperty(ListFormat.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/ListFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(ListFormat.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\n//# sourceMappingURL=core.js.map","import ListFormat from './core';\nif (!('ListFormat' in Intl)) {\n Object.defineProperty(Intl, 'ListFormat', {\n value: ListFormat,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n//# sourceMappingURL=polyfill.js.map"],"names":["this","__assign"],"mappings":"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"}