{"version":3,"file":"polyfill-intl-relativetimeformat.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 __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { toObject, getOption, getLocaleHierarchy, supportedLocales, getCanonicalLocales, createResolveLocale, setInternalSlot, getInternalSlot, invariant, partitionPattern, isLiteralPart, } from '@formatjs/intl-utils';\nfunction unpackData(locale, localeData) {\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 Error(\"Missing locale data for \\\"\" + locale + \"\\\", lookup hierarchy: \" + localeHierarchy.join(', '));\n }\n dataToMerge.reverse();\n return dataToMerge.reduce(function (all, d) { return (__assign(__assign({}, all), d)); }, { nu: [] });\n}\n/**\n * https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit\n * @param unit\n */\nfunction singularRelativeTimeUnit(unit) {\n invariant(typeof unit === 'string', \"unit must be a string, instead got \" + typeof unit, TypeError);\n if (unit === 'seconds')\n return 'second';\n if (unit === 'minutes')\n return 'minute';\n if (unit === 'hours')\n return 'hour';\n if (unit === 'days')\n return 'day';\n if (unit === 'weeks')\n return 'week';\n if (unit === 'months')\n return 'month';\n if (unit === 'quarters')\n return 'quarter';\n if (unit === 'years')\n return 'year';\n if (unit !== 'second' &&\n unit !== 'minute' &&\n unit !== 'hour' &&\n unit !== 'day' &&\n unit !== 'week' &&\n unit !== 'month' &&\n unit !== 'quarter' &&\n unit !== 'year') {\n throw new RangeError(\"Invalid unit \" + unit);\n }\n return unit;\n}\nvar NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;\n/**\n * https://tc39.es/proposal-intl-relative-time/#sec-makepartslist\n * @param pattern\n * @param unit\n * @param parts\n */\nfunction makePartsList(pattern, unit, parts) {\n var e_1, _a, e_2, _b;\n var patternParts = partitionPattern(pattern);\n var result = [];\n try {\n for (var patternParts_1 = __values(patternParts), patternParts_1_1 = patternParts_1.next(); !patternParts_1_1.done; patternParts_1_1 = patternParts_1.next()) {\n var patternPart = patternParts_1_1.value;\n if (isLiteralPart(patternPart)) {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else {\n invariant(patternPart.type === '0', \"Malformed pattern \" + pattern);\n try {\n for (var parts_1 = (e_2 = void 0, __values(parts)), parts_1_1 = parts_1.next(); !parts_1_1.done; parts_1_1 = parts_1.next()) {\n var part = parts_1_1.value;\n result.push({\n type: part.type,\n value: part.value,\n unit: unit,\n });\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (parts_1_1 && !parts_1_1.done && (_b = parts_1.return)) _b.call(parts_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (patternParts_1_1 && !patternParts_1_1.done && (_a = patternParts_1.return)) _a.call(patternParts_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n}\nfunction 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}\nfunction toString(arg) {\n return arg + '';\n}\n/**\n * PartitionRelativeTimePattern\n * @param rtf\n * @param value\n * @param unit\n */\nfunction partitionRelativeTimePattern(internalSlotMap, rtf, value, unit) {\n invariant(typeof value === 'number', \"value must be number, instead got \" + typeof value, TypeError);\n invariant(typeof unit === 'string', \"unit must be number, instead got \" + typeof value, TypeError);\n if (isNaN(value) || value === Infinity || value === -Infinity) {\n throw new RangeError(\"Invalid value \" + value);\n }\n var resolvedUnit = singularRelativeTimeUnit(unit);\n var fields = getInternalSlot(internalSlotMap, rtf, 'fields');\n var style = getInternalSlot(internalSlotMap, rtf, 'style');\n var entry = resolvedUnit;\n if (style === 'short') {\n entry = unit + \"-short\";\n }\n else if (style === 'narrow') {\n entry = unit + \"-narrow\";\n }\n if (!(entry in fields)) {\n entry = unit;\n }\n var patterns = fields[entry];\n var numeric = getInternalSlot(internalSlotMap, rtf, 'numeric');\n if (numeric === 'auto') {\n if (toString(value) in patterns) {\n return [\n {\n type: 'literal',\n value: patterns[toString(value)],\n },\n ];\n }\n }\n var tl = 'future';\n if (objectIs(value, -0) || value < 0) {\n tl = 'past';\n }\n var po = patterns[tl];\n var pluralRules = getInternalSlot(internalSlotMap, rtf, 'pluralRules');\n var numberFormat = getInternalSlot(internalSlotMap, rtf, 'numberFormat');\n var fv = typeof numberFormat.formatToParts === 'function'\n ? numberFormat.formatToParts(Math.abs(value))\n : // TODO: If formatToParts is not supported, we assume the whole formatted\n // number is a part\n [\n {\n type: 'literal',\n value: numberFormat.format(Math.abs(value)),\n unit: unit,\n },\n ];\n var pr = pluralRules.select(value);\n var pattern = po[pr];\n return makePartsList(pattern, resolvedUnit, fv);\n}\nvar RelativeTimeFormat = /** @class */ (function () {\n function RelativeTimeFormat(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 RelativeTimeFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.RelativeTimeFormat must be called with 'new'\");\n }\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat', 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 numberingSystem = getOption(opts, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined) {\n if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) {\n throw new RangeError(\"Invalid numbering system \" + numberingSystem);\n }\n }\n opt.nu = numberingSystem;\n var r = createResolveLocale(RelativeTimeFormat.getDefaultLocale)(RelativeTimeFormat.availableLocales, requestedLocales, opt, RelativeTimeFormat.relevantExtensionKeys, RelativeTimeFormat.localeData);\n var locale = r.locale, nu = r.nu;\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'locale', locale);\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'style', getOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long'));\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numeric', getOption(opts, 'numeric', 'string', ['always', 'auto'], 'always'));\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'fields', RelativeTimeFormat.localeData[locale]);\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberFormat', new Intl.NumberFormat(locales));\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'pluralRules', new Intl.PluralRules(locales));\n setInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberingSystem', nu);\n }\n RelativeTimeFormat.prototype.format = function (value, unit) {\n if (typeof this !== 'object') {\n throw new TypeError('format was called on a non-object');\n }\n if (!getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('format was called on a invalid context');\n }\n return partitionRelativeTimePattern(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, Number(value), toString(unit))\n .map(function (el) { return el.value; })\n .join('');\n };\n RelativeTimeFormat.prototype.formatToParts = function (value, unit) {\n if (typeof this !== 'object') {\n throw new TypeError('formatToParts was called on a non-object');\n }\n if (!getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('formatToParts was called on a invalid context');\n }\n return partitionRelativeTimePattern(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, Number(value), toString(unit));\n };\n RelativeTimeFormat.prototype.resolvedOptions = function () {\n if (typeof this !== 'object') {\n throw new TypeError('resolvedOptions was called on a non-object');\n }\n if (!getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'initializedRelativeTimeFormat')) {\n throw new TypeError('resolvedOptions was called on a invalid context');\n }\n // test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js\n return {\n locale: getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'locale'),\n style: getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'style'),\n numeric: getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numeric'),\n numberingSystem: getInternalSlot(RelativeTimeFormat.__INTERNAL_SLOT_MAP__, this, 'numberingSystem'),\n };\n };\n RelativeTimeFormat.supportedLocalesOf = function (locales, options) {\n return supportedLocales(RelativeTimeFormat.availableLocales, getCanonicalLocales(locales), options);\n };\n RelativeTimeFormat.__addLocaleData = function () {\n var e_3, _a;\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(__spread(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 RelativeTimeFormat.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n // If we can't unpack this data, ignore the locale\n }\n });\n };\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var datum = data_1_1.value;\n _loop_1(datum);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n RelativeTimeFormat.availableLocales = Object.keys(RelativeTimeFormat.localeData);\n if (!RelativeTimeFormat.__defaultLocale) {\n RelativeTimeFormat.__defaultLocale =\n RelativeTimeFormat.availableLocales[0];\n }\n };\n RelativeTimeFormat.getDefaultLocale = function () {\n return RelativeTimeFormat.__defaultLocale;\n };\n RelativeTimeFormat.localeData = {};\n RelativeTimeFormat.availableLocales = [];\n RelativeTimeFormat.__defaultLocale = 'en';\n RelativeTimeFormat.relevantExtensionKeys = ['nu'];\n RelativeTimeFormat.polyfilled = true;\n RelativeTimeFormat.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return RelativeTimeFormat;\n}());\nexport default RelativeTimeFormat;\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(RelativeTimeFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.RelativeTimeFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n Object.defineProperty(RelativeTimeFormat.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(RelativeTimeFormat.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 RelativeTimeFormat from './core';\nif (!('RelativeTimeFormat' in Intl)) {\n Object.defineProperty(Intl, 'RelativeTimeFormat', {\n value: RelativeTimeFormat,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n//# sourceMappingURL=polyfill.js.map"],"names":["this","__assign","toString"],"mappings":"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"}