{"version":3,"file":"intl-displaynames.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/index.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 { getInternalSlot, setInternalSlot, getOption, getCanonicalLocales, createResolveLocale, invariant, supportedLocales, isWellFormedCurrencyCode, getMultiInternalSlots, unpackData, toString, } from '@formatjs/intl-utils';\nvar DisplayNames = /** @class */ (function () {\n function DisplayNames(locales, options) {\n var _newTarget = this.constructor;\n if (options === void 0) { options = Object.create(null); }\n if (_newTarget === undefined) {\n throw TypeError(\"Constructor Intl.DisplayNames requires 'new'\");\n }\n var requestedLocales = getCanonicalLocales(locales);\n var matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n var r = createResolveLocale(DisplayNames.getDefaultLocale)(DisplayNames.availableLocales, requestedLocales, { localeMatcher: matcher }, [], // there is no relevantExtensionKeys\n DisplayNames.localeData);\n var style = getOption(options, 'style', 'string', ['narrow', 'short', 'long'], 'long');\n setSlot(this, 'style', style);\n var type = getOption(options, 'type', 'string', ['language', 'currency', 'region', 'script'], 'language');\n setSlot(this, 'type', type);\n var fallback = getOption(options, 'fallback', 'string', ['code', 'none'], 'code');\n setSlot(this, 'fallback', fallback);\n setSlot(this, 'locale', r.locale);\n var dataLocale = r.dataLocale;\n var dataLocaleData = DisplayNames.localeData[dataLocale];\n invariant(dataLocaleData !== undefined, \"locale data for \" + r.locale + \" does not exist.\");\n setSlot(this, 'localeData', dataLocaleData);\n }\n DisplayNames.supportedLocalesOf = function (locales, options) {\n return supportedLocales(DisplayNames.availableLocales, getCanonicalLocales(locales), options);\n };\n DisplayNames.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\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 for (var _b = 0, availableLocales_1 = availableLocales; _b < availableLocales_1.length; _b++) {\n var locale = availableLocales_1[_b];\n try {\n DisplayNames.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n // If we can't unpack this data, ignore the locale\n }\n }\n }\n DisplayNames.availableLocales = Object.keys(DisplayNames.localeData);\n if (!DisplayNames.__defaultLocale) {\n DisplayNames.__defaultLocale = DisplayNames.availableLocales[0];\n }\n };\n DisplayNames.prototype.of = function (code) {\n checkReceiver(this, 'of');\n var type = getSlot(this, 'type');\n var codeAsString = toString(code);\n if (!isValidCodeForDisplayNames(type, codeAsString)) {\n throw RangeError('invalid code for Intl.DisplayNames.prototype.of');\n }\n var _a = getMultiInternalSlots(__INTERNAL_SLOT_MAP__, this, 'localeData', 'style', 'fallback'), localeData = _a.localeData, style = _a.style, fallback = _a.fallback;\n // Canonicalize the case.\n var canonicalCode;\n // This is only used to store extracted language region.\n var regionSubTag;\n switch (type) {\n // Normalize the locale id and remove the region.\n case 'language': {\n canonicalCode = getCanonicalLocales(codeAsString)[0];\n var regionMatch = /-([a-z]{2}|\\d{3})\\b/i.exec(canonicalCode);\n if (regionMatch) {\n // Remove region subtag\n canonicalCode =\n canonicalCode.substring(0, regionMatch.index) +\n canonicalCode.substring(regionMatch.index + regionMatch[0].length);\n regionSubTag = regionMatch[1];\n }\n break;\n }\n // currency code should be all upper-case.\n case 'currency':\n canonicalCode = codeAsString.toUpperCase();\n break;\n // script code should be title case\n case 'script':\n canonicalCode =\n codeAsString[0] + codeAsString.substring(1).toLowerCase();\n break;\n // region shold be all upper-case\n case 'region':\n canonicalCode = codeAsString.toUpperCase();\n break;\n }\n var typesData = localeData.types[type];\n // If the style of choice does not exist, fallback to \"long\".\n var name = typesData[style][canonicalCode] || typesData.long[canonicalCode];\n if (name !== undefined) {\n // If there is a region subtag in the language id, use locale pattern to interpolate the region\n if (regionSubTag) {\n // Retrieve region display names\n var regionsData = localeData.types.region;\n var regionDisplayName = regionsData[style][regionSubTag] || regionsData.long[regionSubTag];\n if (regionDisplayName || fallback === 'code') {\n // Interpolate into locale-specific pattern.\n var pattern = localeData.patterns.locale;\n return pattern\n .replace('{0}', name)\n .replace('{1}', regionDisplayName || regionSubTag);\n }\n }\n else {\n return name;\n }\n }\n if (fallback === 'code') {\n return codeAsString;\n }\n };\n DisplayNames.prototype.resolvedOptions = function () {\n checkReceiver(this, 'resolvedOptions');\n return __assign({}, getMultiInternalSlots(__INTERNAL_SLOT_MAP__, this, 'locale', 'style', 'type', 'fallback'));\n };\n DisplayNames.getDefaultLocale = function () {\n return DisplayNames.__defaultLocale;\n };\n DisplayNames.localeData = {};\n DisplayNames.availableLocales = [];\n DisplayNames.__defaultLocale = 'en';\n DisplayNames.polyfilled = true;\n return DisplayNames;\n}());\nexport { DisplayNames };\n// https://tc39.es/proposal-intl-displaynames/#sec-isvalidcodefordisplaynames\nfunction isValidCodeForDisplayNames(type, code) {\n switch (type) {\n case 'language':\n // subset of unicode_language_id\n // languageCode [\"-\" scriptCode] [\"-\" regionCode] *(\"-\" variant)\n // where:\n // - languageCode is either a two letters ISO 639-1 language code or a three letters ISO 639-2 language code.\n // - scriptCode is should be an ISO-15924 four letters script code\n // - regionCode is either an ISO-3166 two letters region code, or a three digits UN M49 Geographic Regions.\n return /^[a-z]{2,3}(-[a-z]{4})?(-([a-z]{2}|\\d{3}))?(-([a-z\\d]{5,8}|\\d[a-z\\d]{3}))*$/i.test(code);\n case 'region':\n // unicode_region_subtag\n return /^([a-z]{2}|\\d{3})$/i.test(code);\n case 'script':\n // unicode_script_subtag\n return /^[a-z]{4}$/i.test(code);\n case 'currency':\n return isWellFormedCurrencyCode(code);\n }\n}\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n Object.defineProperty(DisplayNames.prototype, Symbol.toStringTag, {\n value: 'Intl.DisplayNames',\n configurable: true,\n enumerable: false,\n writable: false,\n });\n }\n Object.defineProperty(DisplayNames, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // Make test 262 compliant\n}\nvar __INTERNAL_SLOT_MAP__ = new WeakMap();\nfunction getSlot(instance, key) {\n return getInternalSlot(__INTERNAL_SLOT_MAP__, instance, key);\n}\nfunction setSlot(instance, key, value) {\n setInternalSlot(__INTERNAL_SLOT_MAP__, instance, key, value);\n}\nfunction checkReceiver(receiver, methodName) {\n if (!(receiver instanceof DisplayNames)) {\n throw TypeError(\"Method Intl.DisplayNames.prototype.\" + methodName + \" called on incompatible receiver\");\n }\n}\n//# sourceMappingURL=index.js.map"],"names":["this","__assign"],"mappings":"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"}