@formatjs/intl-datetimeformat 1.2.2 → 1.3.3

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/core.d.ts +7 -0
  3. package/dist/core.d.ts.map +1 -1
  4. package/dist/core.js +14 -27
  5. package/dist/core.js.map +1 -1
  6. package/dist/polyfill-with-locales-for-test262.min.js +19 -34
  7. package/dist/polyfill-with-locales-for-test262.min.js.map +1 -1
  8. package/dist/polyfill.js +35 -5
  9. package/dist/polyfill.js.map +1 -1
  10. package/dist/to_locale_string.d.ts +9 -0
  11. package/dist/to_locale_string.d.ts.map +1 -0
  12. package/dist/to_locale_string.js +24 -0
  13. package/dist/to_locale_string.js.map +1 -0
  14. package/dist/umd/intl-datetimeformat.js +14 -27
  15. package/dist/umd/intl-datetimeformat.js.map +1 -1
  16. package/dist/umd/intl-datetimeformat.min.js +1 -1
  17. package/dist/umd/intl-datetimeformat.min.js.map +1 -1
  18. package/dist/umd/polyfill.js +61 -32
  19. package/dist/umd/polyfill.js.map +1 -1
  20. package/lib/core.d.ts +7 -0
  21. package/lib/core.d.ts.map +1 -1
  22. package/lib/core.js +14 -28
  23. package/lib/core.js.map +1 -1
  24. package/lib/intl-datetimeformat.d.ts +8 -0
  25. package/lib/polyfill.js +35 -5
  26. package/lib/polyfill.js.map +1 -1
  27. package/lib/to_locale_string.d.ts +9 -0
  28. package/lib/to_locale_string.d.ts.map +1 -0
  29. package/lib/to_locale_string.js +19 -0
  30. package/lib/to_locale_string.js.map +1 -0
  31. package/lib/tsdoc-metadata.json +1 -1
  32. package/package.json +7 -6
  33. package/src/core.ts +15 -28
  34. package/src/polyfill.ts +48 -5
  35. package/src/to_locale_string.ts +40 -0
  36. package/dist/tsdoc-metadata.json +0 -11
  37. package/dist/umd/polyfill-with-locales.js +0 -1645
  38. package/dist/umd/polyfill-with-locales.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"polyfill.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/units.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/resolve-locale.js","../../lib/get_internal_slots.js","../../lib/links.js","../../lib/packer.js","../../lib/skeleton.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","// https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\n//# sourceMappingURL=units.js.map","import { invariant } from './invariant';\nimport { SANCTIONED_UNITS } from './units';\nexport function hasOwnProperty(o, key) {\n return Object.prototype.hasOwnProperty.call(o, key);\n}\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 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 */\nexport function setNumberFormatDigitOptions(internalSlots, 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 internalSlots.minimumIntegerDigits = mnid;\n if (mnsd !== undefined || mxsd !== undefined) {\n internalSlots.roundingType = 'significantDigits';\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n internalSlots.roundingType = 'fractionDigits';\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else if (notation === 'compact') {\n internalSlots.roundingType = 'compactRounding';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.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/ecma402/#sec-iswellformedcurrencycode\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 * https://tc39.es/ecma402/#sec-formatnumberstring\n * TODO: dedup with intl-pluralrules\n */\nexport function formatNumericToString(internalSlots, x) {\n var isNegative = x < 0 || objectIs(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = internalSlots.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = toRawPrecision(x, internalSlots.minimumSignificantDigits, internalSlots.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = toRawFixed(x, internalSlots.minimumFractionDigits, internalSlots.maximumFractionDigits);\n break;\n default:\n result = toRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = toRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = internalSlots.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function toRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = a + \".\" + b;\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n// https://tc39.es/ecma402/#sec-torawprecision\nexport function toRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = m.slice(0, e + 1) + \".\" + m.slice(e + 1);\n int = e + 1;\n }\n else {\n m = \"0.\" + repeat('0', -e - 1) + m;\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\n/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\nvar SHORTENED_SACTION_UNITS = SANCTIONED_UNITS.map(function (unit) {\n return unit.replace(/^(.*?)-/, '');\n});\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function isWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (SHORTENED_SACTION_UNITS.indexOf(unit) > -1) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n if (SHORTENED_SACTION_UNITS.indexOf(units[0]) < 0 ||\n SHORTENED_SACTION_UNITS.indexOf(units[1]) < 0) {\n return false;\n }\n return true;\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n//# sourceMappingURL=polyfill-utils.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 { 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 but got \" + typeof value + \" in key \" + key);\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 = Intl.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) {\n var results = [locale];\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);\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 internalSlotMap = new WeakMap();\nexport default function getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\n//# sourceMappingURL=get_internal_slots.js.map","// @generated\n// prettier-ignore\nexport default { \"Africa/Asmera\": \"Africa/Nairobi\", \"Africa/Timbuktu\": \"Africa/Abidjan\", \"America/Argentina/ComodRivadavia\": \"America/Argentina/Catamarca\", \"America/Atka\": \"America/Adak\", \"America/Buenos_Aires\": \"America/Argentina/Buenos_Aires\", \"America/Catamarca\": \"America/Argentina/Catamarca\", \"America/Coral_Harbour\": \"America/Atikokan\", \"America/Cordoba\": \"America/Argentina/Cordoba\", \"America/Ensenada\": \"America/Tijuana\", \"America/Fort_Wayne\": \"America/Indiana/Indianapolis\", \"America/Godthab\": \"America/Nuuk\", \"America/Indianapolis\": \"America/Indiana/Indianapolis\", \"America/Jujuy\": \"America/Argentina/Jujuy\", \"America/Knox_IN\": \"America/Indiana/Knox\", \"America/Louisville\": \"America/Kentucky/Louisville\", \"America/Mendoza\": \"America/Argentina/Mendoza\", \"America/Montreal\": \"America/Toronto\", \"America/Porto_Acre\": \"America/Rio_Branco\", \"America/Rosario\": \"America/Argentina/Cordoba\", \"America/Santa_Isabel\": \"America/Tijuana\", \"America/Shiprock\": \"America/Denver\", \"America/Virgin\": \"America/Port_of_Spain\", \"Antarctica/South_Pole\": \"Pacific/Auckland\", \"Asia/Ashkhabad\": \"Asia/Ashgabat\", \"Asia/Calcutta\": \"Asia/Kolkata\", \"Asia/Chongqing\": \"Asia/Shanghai\", \"Asia/Chungking\": \"Asia/Shanghai\", \"Asia/Dacca\": \"Asia/Dhaka\", \"Asia/Harbin\": \"Asia/Shanghai\", \"Asia/Kashgar\": \"Asia/Urumqi\", \"Asia/Katmandu\": \"Asia/Kathmandu\", \"Asia/Macao\": \"Asia/Macau\", \"Asia/Rangoon\": \"Asia/Yangon\", \"Asia/Saigon\": \"Asia/Ho_Chi_Minh\", \"Asia/Tel_Aviv\": \"Asia/Jerusalem\", \"Asia/Thimbu\": \"Asia/Thimphu\", \"Asia/Ujung_Pandang\": \"Asia/Makassar\", \"Asia/Ulan_Bator\": \"Asia/Ulaanbaatar\", \"Atlantic/Faeroe\": \"Atlantic/Faroe\", \"Atlantic/Jan_Mayen\": \"Europe/Oslo\", \"Australia/ACT\": \"Australia/Sydney\", \"Australia/Canberra\": \"Australia/Sydney\", \"Australia/LHI\": \"Australia/Lord_Howe\", \"Australia/NSW\": \"Australia/Sydney\", \"Australia/North\": \"Australia/Darwin\", \"Australia/Queensland\": \"Australia/Brisbane\", \"Australia/South\": \"Australia/Adelaide\", \"Australia/Tasmania\": \"Australia/Hobart\", \"Australia/Victoria\": \"Australia/Melbourne\", \"Australia/West\": \"Australia/Perth\", \"Australia/Yancowinna\": \"Australia/Broken_Hill\", \"Brazil/Acre\": \"America/Rio_Branco\", \"Brazil/DeNoronha\": \"America/Noronha\", \"Brazil/East\": \"America/Sao_Paulo\", \"Brazil/West\": \"America/Manaus\", \"Canada/Atlantic\": \"America/Halifax\", \"Canada/Central\": \"America/Winnipeg\", \"Canada/Eastern\": \"America/Toronto\", \"Canada/Mountain\": \"America/Edmonton\", \"Canada/Newfoundland\": \"America/St_Johns\", \"Canada/Pacific\": \"America/Vancouver\", \"Canada/Saskatchewan\": \"America/Regina\", \"Canada/Yukon\": \"America/Whitehorse\", \"Chile/Continental\": \"America/Santiago\", \"Chile/EasterIsland\": \"Pacific/Easter\", \"Cuba\": \"America/Havana\", \"Egypt\": \"Africa/Cairo\", \"Eire\": \"Europe/Dublin\", \"Etc/UCT\": \"Etc/UTC\", \"Europe/Belfast\": \"Europe/London\", \"Europe/Tiraspol\": \"Europe/Chisinau\", \"GB\": \"Europe/London\", \"GB-Eire\": \"Europe/London\", \"GMT+0\": \"Etc/GMT\", \"GMT-0\": \"Etc/GMT\", \"GMT0\": \"Etc/GMT\", \"Greenwich\": \"Etc/GMT\", \"Hongkong\": \"Asia/Hong_Kong\", \"Iceland\": \"Atlantic/Reykjavik\", \"Iran\": \"Asia/Tehran\", \"Israel\": \"Asia/Jerusalem\", \"Jamaica\": \"America/Jamaica\", \"Japan\": \"Asia/Tokyo\", \"Kwajalein\": \"Pacific/Kwajalein\", \"Libya\": \"Africa/Tripoli\", \"Mexico/BajaNorte\": \"America/Tijuana\", \"Mexico/BajaSur\": \"America/Mazatlan\", \"Mexico/General\": \"America/Mexico_City\", \"NZ\": \"Pacific/Auckland\", \"NZ-CHAT\": \"Pacific/Chatham\", \"Navajo\": \"America/Denver\", \"PRC\": \"Asia/Shanghai\", \"Pacific/Johnston\": \"Pacific/Honolulu\", \"Pacific/Ponape\": \"Pacific/Pohnpei\", \"Pacific/Samoa\": \"Pacific/Pago_Pago\", \"Pacific/Truk\": \"Pacific/Chuuk\", \"Pacific/Yap\": \"Pacific/Chuuk\", \"Poland\": \"Europe/Warsaw\", \"Portugal\": \"Europe/Lisbon\", \"ROC\": \"Asia/Taipei\", \"ROK\": \"Asia/Seoul\", \"Singapore\": \"Asia/Singapore\", \"Turkey\": \"Europe/Istanbul\", \"UCT\": \"Etc/UTC\", \"US/Alaska\": \"America/Anchorage\", \"US/Aleutian\": \"America/Adak\", \"US/Arizona\": \"America/Phoenix\", \"US/Central\": \"America/Chicago\", \"US/East-Indiana\": \"America/Indiana/Indianapolis\", \"US/Eastern\": \"America/New_York\", \"US/Hawaii\": \"Pacific/Honolulu\", \"US/Indiana-Starke\": \"America/Indiana/Knox\", \"US/Michigan\": \"America/Detroit\", \"US/Mountain\": \"America/Denver\", \"US/Pacific\": \"America/Los_Angeles\", \"US/Samoa\": \"Pacific/Pago_Pago\", \"UTC\": \"Etc/UTC\", \"Universal\": \"Etc/UTC\", \"W-SU\": \"Europe/Moscow\", \"Zulu\": \"Etc/UTC\" };\n//# sourceMappingURL=links.js.map","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};\nexport function pack(data) {\n return {\n zones: Object.keys(data.zones).map(function (zone) {\n return __spreadArrays([\n zone\n ], data.zones[zone].map(function (_a) {\n var ts = _a[0], others = _a.slice(1);\n return __spreadArrays([ts === '' ? '' : ts.toString(36)], others).join(',');\n })).join('|');\n }),\n abbrvs: data.abbrvs.join('|'),\n offsets: data.offsets.map(function (o) { return o.toString(36); }).join('|'),\n };\n}\nexport function unpack(data) {\n var abbrvs = data.abbrvs.split('|');\n var offsets = data.offsets.split('|').map(function (n) { return parseInt(n, 36); });\n var packedZones = data.zones;\n var zones = {};\n for (var _i = 0, packedZones_1 = packedZones; _i < packedZones_1.length; _i++) {\n var d = packedZones_1[_i];\n var _a = d.split('|'), zone = _a[0], zoneData = _a.slice(1);\n zones[zone] = zoneData\n .map(function (z) { return z.split(','); })\n .map(function (_a) {\n var ts = _a[0], abbrvIndex = _a[1], offsetIndex = _a[2], dst = _a[3];\n return [\n ts === '' ? -Infinity : parseInt(ts, 36),\n abbrvs[+abbrvIndex],\n offsets[+offsetIndex],\n dst === '1',\n ];\n });\n }\n return zones;\n}\n//# sourceMappingURL=packer.js.map","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {\n pattern: '',\n pattern12: '',\n skeleton: skeleton,\n };\n var literals = [];\n result.pattern12 = skeleton\n // Double apostrophe\n .replace(/'{2}/g, '{apostrophe}')\n // Apostrophe-escaped\n .replace(/'(.*?)'/g, function (_, literal) {\n literals.push(literal);\n return \"$$\" + (literals.length - 1) + \"$$\";\n })\n .replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n return '{era}';\n // Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n result.year = len === 2 ? '2-digit' : 'numeric';\n return '{year}';\n // Quarter\n case 'q':\n case 'Q':\n return '{quarter}';\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n return '{month}';\n // Week\n case 'w':\n case 'W':\n return '{weekday}';\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n return '{day}';\n case 'D':\n case 'F':\n case 'g':\n result.day = 'numeric';\n return '{day}';\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n return '{weekday}';\n case 'e':\n result.weekday = [\n 'numeric',\n '2-digit',\n 'short',\n 'long',\n 'narrow',\n 'short',\n ][len - 1];\n return '{weekday}';\n case 'c':\n result.weekday = [\n 'numeric',\n undefined,\n 'short',\n 'long',\n 'narrow',\n 'short',\n ][len - 1];\n return '{weekday}';\n // Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n result.hour12 = true;\n return '{ampm}';\n // Hour\n case 'h':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'H':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'K':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'k':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n return '{minute}';\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n return '{second}';\n case 'S':\n case 'A':\n result.second = 'numeric';\n return '{second}';\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n result.timeZoneName = len < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n return '';\n });\n //Restore literals\n if (literals.length) {\n result.pattern12 = result.pattern12\n .replace(/\\$\\$(\\d+)\\$\\$/g, function (_, i) {\n return literals[+i];\n })\n .replace(/\\{apostrophe\\}/g, \"'\");\n }\n // Handle apostrophe-escaped things\n result.pattern = result.pattern12\n .replace(/([\\s\\uFEFF\\xA0])\\{ampm\\}([\\s\\uFEFF\\xA0])/, '$1')\n .replace('{ampm}', '')\n .replace(expPatternTrimmer, '');\n return result;\n}\n//# sourceMappingURL=skeleton.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 __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { getOption, createResolveLocale, invariant, toObject, defineProperty, supportedLocales, objectIs, partitionPattern, unpackData, } from '@formatjs/intl-utils';\nimport getInternalSlots from './get_internal_slots';\nimport links from './links';\nimport { unpack } from './packer';\nimport { parseDateTimeSkeleton } from './skeleton';\nvar UPPERCASED_LINKS = Object.keys(links).reduce(function (all, l) {\n all[l.toUpperCase()] = links[l];\n return all;\n}, {});\nvar DATE_TIME_PROPS = [\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'calendar',\n 'numberingSystem',\n 'timeZone',\n 'hourCycle',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nvar TYPE_REGEX = /^[a-z0-9]{3,8}$/i;\n/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n */\nfunction isValidTimeZoneName(tz) {\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set(Object.keys(DateTimeFormat.tzData).map(function (z) { return z.toUpperCase(); }));\n return zoneNames.has(uppercasedTz) || uppercasedTz in UPPERCASED_LINKS;\n}\n/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nfunction canonicalizeTimeZoneName(tz) {\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = Object.keys(DateTimeFormat.tzData).reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = UPPERCASED_LINKS[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nfunction toNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction toInteger(n) {\n var number = toNumber(n);\n if (isNaN(number) || objectIs(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (objectIs(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nfunction timeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e16) {\n return NaN;\n }\n return toInteger(time);\n}\n/**\n * https://tc39.es/ecma402/#sec-initializedatetimeformat\n * @param dtf DateTimeFormat\n * @param locales locales\n * @param opts options\n */\nfunction initializeDateTimeFormat(dtf, locales, opts) {\n // @ts-ignore\n var requestedLocales = Intl.getCanonicalLocales(locales);\n var options = toDateTimeOptions(opts, 'any', 'date');\n var opt = Object.create(null);\n var matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var calendar = getOption(options, 'calendar', 'string', undefined, undefined);\n if (calendar !== undefined && !TYPE_REGEX.test(calendar)) {\n throw new RangeError('Malformed calendar');\n }\n var internalSlots = getInternalSlots(dtf);\n opt.ca = calendar;\n var numberingSystem = getOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined && !TYPE_REGEX.test(numberingSystem)) {\n throw new RangeError('Malformed numbering system');\n }\n opt.nu = numberingSystem;\n var hour12 = getOption(options, 'hour12', 'boolean', undefined, undefined);\n var hourCycle = getOption(options, 'hourCycle', 'string', ['h11', 'h12', 'h23', 'h24'], undefined);\n if (hour12 !== undefined) {\n // @ts-ignore\n hourCycle = null;\n }\n opt.hc = hourCycle;\n var r = createResolveLocale(DateTimeFormat.getDefaultLocale)(DateTimeFormat.availableLocales, requestedLocales, \n // TODO: Fix the type\n opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu', 'ca', 'hc'], DateTimeFormat.localeData);\n internalSlots.locale = r.locale;\n calendar = r.ca;\n internalSlots.calendar = calendar;\n internalSlots.hourCycle = r.hc;\n internalSlots.numberingSystem = r.nu;\n var dataLocale = r.dataLocale;\n internalSlots.dataLocale = dataLocale;\n var timeZone = options.timeZone;\n if (timeZone !== undefined) {\n timeZone = String(timeZone);\n if (!isValidTimeZoneName(timeZone)) {\n throw new RangeError('Invalid timeZoneName');\n }\n timeZone = canonicalizeTimeZoneName(timeZone);\n }\n else {\n timeZone = DateTimeFormat.__defaultLocale;\n }\n internalSlots.timeZone = timeZone;\n opt = Object.create(null);\n opt.weekday = getOption(options, 'weekday', 'string', ['narrow', 'short', 'long'], undefined);\n opt.era = getOption(options, 'era', 'string', ['narrow', 'short', 'long'], undefined);\n opt.year = getOption(options, 'year', 'string', ['2-digit', 'numeric'], undefined);\n opt.month = getOption(options, 'month', 'string', ['2-digit', 'numeric', 'narrow', 'short', 'long'], undefined);\n opt.day = getOption(options, 'day', 'string', ['2-digit', 'numeric'], undefined);\n opt.hour = getOption(options, 'hour', 'string', ['2-digit', 'numeric'], undefined);\n opt.minute = getOption(options, 'minute', 'string', ['2-digit', 'numeric'], undefined);\n opt.second = getOption(options, 'second', 'string', ['2-digit', 'numeric'], undefined);\n opt.timeZoneName = getOption(options, 'timeZoneName', 'string', ['short', 'long'], undefined);\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n var formats = dataLocaleData.formats[calendar];\n matcher = getOption(options, 'formatMatcher', 'string', ['basic', 'best fit'], 'best fit');\n var bestFormat;\n if (matcher === 'basic') {\n bestFormat = basicFormatMatcher(opt, formats);\n }\n else {\n opt.hour12 =\n internalSlots.hourCycle === 'h11' || internalSlots.hourCycle === 'h12';\n bestFormat = bestFitFormatMatcher(opt, formats);\n }\n for (var prop in opt) {\n var p = bestFormat[prop];\n if (p !== undefined) {\n internalSlots[prop] = p;\n }\n }\n var pattern;\n if (internalSlots.hour !== undefined) {\n var hcDefault = dataLocaleData.hourCycle;\n var hc = internalSlots.hourCycle;\n if (hc == null) {\n hc = hcDefault;\n }\n if (hour12 !== undefined) {\n if (hour12) {\n if (hcDefault === 'h11' || hcDefault === 'h23') {\n hc = 'h11';\n }\n else {\n hc = 'h12';\n }\n }\n else {\n invariant(!hour12, 'hour12 must not be set');\n if (hcDefault === 'h11' || hcDefault === 'h23') {\n hc = 'h23';\n }\n else {\n hc = 'h24';\n }\n }\n }\n internalSlots.hourCycle = hc;\n if (hc === 'h11' || hc === 'h12') {\n pattern = bestFormat.pattern12;\n }\n else {\n pattern = bestFormat.pattern;\n }\n }\n else {\n // @ts-ignore\n internalSlots.hourCycle = undefined;\n pattern = bestFormat.pattern;\n }\n internalSlots.pattern = pattern;\n return dtf;\n}\n/**\n * https://tc39.es/ecma402/#sec-todatetimeoptions\n * @param options\n * @param required\n * @param defaults\n */\nfunction toDateTimeOptions(options, required, defaults) {\n if (options === undefined) {\n options = null;\n }\n else {\n options = toObject(options);\n }\n options = Object.create(options);\n var needDefaults = true;\n if (required === 'date' || required === 'any') {\n for (var _i = 0, _a = ['weekday', 'year', 'month', 'day']; _i < _a.length; _i++) {\n var prop = _a[_i];\n var value = options[prop];\n if (value !== undefined) {\n needDefaults = false;\n }\n }\n }\n if (required === 'time' || required === 'any') {\n for (var _b = 0, _c = ['hour', 'minute', 'second']; _b < _c.length; _b++) {\n var prop = _c[_b];\n var value = options[prop];\n if (value !== undefined) {\n needDefaults = false;\n }\n }\n }\n if (needDefaults && (defaults === 'date' || defaults === 'all')) {\n for (var _d = 0, _e = ['year', 'month', 'day']; _d < _e.length; _d++) {\n var prop = _e[_d];\n options[prop] = 'numeric';\n }\n }\n if (needDefaults && (defaults === 'time' || defaults === 'all')) {\n for (var _f = 0, _g = ['hour', 'minute', 'second']; _f < _g.length; _f++) {\n var prop = _g[_f];\n options[prop] = 'numeric';\n }\n }\n return options;\n}\nvar BASIC_FORMAT_MATCHER_VALUES = [\n '2-digit',\n 'numeric',\n 'narrow',\n 'short',\n 'long',\n];\nvar removalPenalty = 120;\nvar additionPenalty = 20;\nvar longLessPenalty = 8;\nvar longMorePenalty = 6;\nvar shortLessPenalty = 6;\nvar shortMorePenalty = 3;\nexport function basicFormatMatcherScore(options, format) {\n var score = 0;\n for (var _i = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_1.length; _i++) {\n var prop = DATE_TIME_PROPS_1[_i];\n var optionsProp = options[prop];\n var formatProp = format[prop];\n if (optionsProp === undefined && formatProp !== undefined) {\n score -= additionPenalty;\n }\n else if (optionsProp !== undefined && formatProp === undefined) {\n score -= removalPenalty;\n }\n else if (optionsProp !== formatProp) {\n var optionsPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(optionsProp);\n var formatPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(formatProp);\n var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));\n if (delta === 2) {\n score -= longMorePenalty;\n }\n else if (delta === 1) {\n score -= shortMorePenalty;\n }\n else if (delta === -1) {\n score -= shortLessPenalty;\n }\n else if (delta === -2) {\n score -= longLessPenalty;\n }\n }\n }\n return score;\n}\n/**\n * Credit: https://github.com/andyearnshaw/Intl.js/blob/0958dc1ad8153f1056653ea22b8208f0df289a4e/src/12.datetimeformat.js#L611\n * with some modifications\n * @param options\n * @param format\n */\nexport function bestFitFormatMatcherScore(options, format) {\n var score = 0;\n if (options.hour12 && !format.hour12) {\n score -= removalPenalty;\n }\n else if (!options.hour12 && format.hour12) {\n score -= additionPenalty;\n }\n for (var _i = 0, DATE_TIME_PROPS_2 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_2.length; _i++) {\n var prop = DATE_TIME_PROPS_2[_i];\n var optionsProp = options[prop];\n var formatProp = format[prop];\n if (optionsProp === undefined && formatProp !== undefined) {\n score -= additionPenalty;\n }\n else if (optionsProp !== undefined && formatProp === undefined) {\n score -= removalPenalty;\n }\n else if (optionsProp !== formatProp) {\n var optionsPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(optionsProp);\n var formatPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(formatProp);\n var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));\n if (delta === 2) {\n score -= longMorePenalty;\n }\n else if (delta === 1) {\n score -= shortMorePenalty;\n }\n else if (delta === -1) {\n score -= shortLessPenalty;\n }\n else if (delta === -2) {\n score -= longLessPenalty;\n }\n }\n }\n return score;\n}\n/**\n * https://tc39.es/ecma402/#sec-basicformatmatcher\n * @param options\n * @param formats\n */\nfunction basicFormatMatcher(options, formats) {\n var bestScore = -Infinity;\n var bestFormat = formats[0];\n invariant(Array.isArray(formats), 'formats should be a list of things');\n for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) {\n var format = formats_1[_i];\n var score = basicFormatMatcherScore(options, format);\n if (score > bestScore) {\n bestScore = score;\n bestFormat = format;\n }\n }\n return __assign({}, bestFormat);\n}\nfunction isNumericType(t) {\n return t === 'numeric' || t === '2-digit';\n}\n/**\n * https://tc39.es/ecma402/#sec-bestfitformatmatcher\n * Just alias to basic for now\n * @param options\n * @param formats\n */\nfunction bestFitFormatMatcher(options, formats) {\n var bestScore = -Infinity;\n var bestFormat = formats[0];\n invariant(Array.isArray(formats), 'formats should be a list of things');\n for (var _i = 0, formats_2 = formats; _i < formats_2.length; _i++) {\n var format = formats_2[_i];\n var score = bestFitFormatMatcherScore(options, format);\n if (score > bestScore) {\n bestScore = score;\n bestFormat = format;\n }\n }\n bestFormat = __assign({}, bestFormat);\n // Kinda following https://github.com/unicode-org/icu/blob/dd50e38f459d84e9bf1b0c618be8483d318458ad/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java\n for (var prop in bestFormat) {\n var bestValue = bestFormat[prop];\n var inputValue = options[prop];\n // Don't mess with minute/second or we can get in the situation of\n // 7:0:0 which is weird\n if (prop === 'minute' || prop === 'second') {\n continue;\n }\n // Nothing to do here\n if (!inputValue) {\n continue;\n }\n // https://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n // Looks like we should not convert numeric to alphabetic but the other way\n // around is ok\n if (isNumericType(bestValue) &&\n !isNumericType(inputValue)) {\n continue;\n }\n // Otherwise use the input value\n bestFormat[prop] = inputValue;\n }\n return bestFormat;\n}\nvar formatDescriptor = {\n enumerable: false,\n configurable: true,\n get: function () {\n if (typeof this !== 'object' || !(this instanceof DateTimeFormat)) {\n throw TypeError('Intl.DateTimeFormat format property accessor called on incompatible receiver');\n }\n var internalSlots = getInternalSlots(this);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var dtf = this;\n var boundFormat = internalSlots.boundFormat;\n if (boundFormat === undefined) {\n // https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions\n boundFormat = function (date) {\n var x;\n if (date === undefined) {\n x = Date.now();\n }\n else {\n x = Number(date);\n }\n return formatDateTime(dtf, x);\n };\n try {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js\n Object.defineProperty(boundFormat, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: '',\n });\n }\n catch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n }\n internalSlots.boundFormat = boundFormat;\n }\n return boundFormat;\n },\n};\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/name.js\n Object.defineProperty(formatDescriptor.get, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'get format',\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n}\nfunction pad(n) {\n if (n < 10) {\n return \"0\" + n;\n }\n return String(n);\n}\nfunction offsetToGmtString(gmtFormat, hourFormat, offsetInMs, style) {\n var offsetInMinutes = Math.floor(offsetInMs / 60000);\n var mins = Math.abs(offsetInMinutes) % 60;\n var hours = Math.floor(Math.abs(offsetInMinutes) / 60);\n var _a = hourFormat.split(';'), positivePattern = _a[0], negativePattern = _a[1];\n var offsetStr = '';\n var pattern = offsetInMs < 0 ? negativePattern : positivePattern;\n if (style === 'long') {\n offsetStr = pattern\n .replace('HH', pad(hours))\n .replace('H', String(hours))\n .replace('mm', pad(mins))\n .replace('m', String(mins));\n }\n else if (mins || hours) {\n if (!mins) {\n pattern = pattern.replace(/:?m+/, '');\n }\n offsetStr = pattern\n .replace(/H+/, String(hours))\n .replace(/m+/, String(mins));\n }\n return gmtFormat.replace('{0}', offsetStr);\n}\n/**\n * https://tc39.es/ecma402/#sec-partitiondatetimepattern\n * @param dtf\n * @param x\n */\nfunction partitionDateTimePattern(dtf, x) {\n x = timeClip(x);\n if (isNaN(x)) {\n throw new RangeError('invalid time');\n }\n /** IMPL START */\n var internalSlots = getInternalSlots(dtf);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n /** IMPL END */\n var locale = internalSlots.locale;\n var nfOptions = Object.create(null);\n nfOptions.useGrouping = false;\n var nf = new Intl.NumberFormat(locale, nfOptions);\n var nf2Options = Object.create(null);\n nf2Options.minimumIntegerDigits = 2;\n nf2Options.useGrouping = false;\n var nf2 = new Intl.NumberFormat(locale, nf2Options);\n var tm = toLocalTime(x, \n // @ts-ignore\n internalSlots.calendar, internalSlots.timeZone);\n var result = [];\n var patternParts = partitionPattern(internalSlots.pattern);\n for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {\n var patternPart = patternParts_1[_i];\n var p = patternPart.type;\n if (p === 'literal') {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else if (DATE_TIME_PROPS.indexOf(p) > -1) {\n var fv = '';\n var f = internalSlots[p];\n // @ts-ignore\n var v = tm[p];\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n if (p === 'month') {\n v++;\n }\n var hourCycle = internalSlots.hourCycle;\n if (p === 'hour' && (hourCycle === 'h11' || hourCycle === 'h12')) {\n v = v % 12;\n if (v === 0 && hourCycle === 'h12') {\n v = 12;\n }\n }\n if (p === 'hour' && hourCycle === 'h24') {\n if (v === 0) {\n v = 24;\n }\n }\n if (f === 'numeric') {\n fv = nf.format(v);\n }\n else if (f === '2-digit') {\n fv = nf2.format(v);\n if (fv.length > 2) {\n fv = fv.slice(fv.length - 2, fv.length);\n }\n }\n else if (f === 'narrow' || f === 'short' || f === 'long') {\n if (p === 'era') {\n fv = dataLocaleData[p][f][v];\n }\n else if (p === 'timeZoneName') {\n var timeZoneName = dataLocaleData.timeZoneName, gmtFormat = dataLocaleData.gmtFormat, hourFormat = dataLocaleData.hourFormat;\n var timeZone = internalSlots.timeZone || DateTimeFormat.__defaultTimeZone;\n var timeZoneData = timeZoneName[timeZone];\n if (timeZoneData && timeZoneData[f]) {\n fv = timeZoneData[f][+tm.inDST];\n }\n else {\n // Fallback to gmtFormat\n fv = offsetToGmtString(gmtFormat, hourFormat, tm.timeZoneOffset, f);\n }\n }\n else if (p === 'month') {\n fv = dataLocaleData.month[f][v - 1];\n }\n else {\n fv = dataLocaleData[p][f][v];\n }\n }\n result.push({\n type: p,\n value: fv,\n });\n }\n else if (p === 'ampm') {\n var v = tm.hour;\n var fv = void 0;\n if (v >= 11) {\n fv = dataLocaleData.pm;\n }\n else {\n fv = dataLocaleData.am;\n }\n result.push({\n type: 'dayPeriod',\n value: fv,\n });\n }\n else if (p === 'relatedYear') {\n var v = tm.relatedYear;\n // @ts-ignore\n var fv = nf.format(v);\n result.push({\n type: 'relatedYear',\n value: fv,\n });\n }\n else if (p === 'yearName') {\n var v = tm.yearName;\n // @ts-ignore\n var fv = nf.format(v);\n result.push({\n type: 'yearName',\n value: fv,\n });\n }\n else {\n result.push({\n type: 'unknown',\n value: x,\n });\n }\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-formatdatetime\n * @param dtf DateTimeFormat\n * @param x\n */\nfunction formatDateTime(dtf, x) {\n var parts = partitionDateTimePattern(dtf, x);\n var result = '';\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result += part.value;\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-formatdatetimetoparts\n * @param dtf DateTimeFormat\n * @param x\n */\nfunction formatDateTimeParts(dtf, x) {\n return partitionDateTimePattern(dtf, x);\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nfunction day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nfunction weekDay(t) {\n return (day(t) + 4) % 7;\n}\nfunction dayFromYear(y) {\n return (365 * (y - 1970) +\n Math.floor((y - 1969) / 4) -\n Math.floor((y - 1901) / 100) +\n Math.floor((y - 1601) / 400));\n}\nfunction timeFromYear(y) {\n return MS_PER_DAY * dayFromYear(y);\n}\nfunction yearFromTime(t) {\n var min = Math.ceil(t / MS_PER_DAY / 366);\n var y = min;\n while (timeFromYear(y) <= t) {\n y++;\n }\n return y - 1;\n}\nfunction daysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nfunction dayWithinYear(t) {\n return day(t) - dayFromYear(yearFromTime(t));\n}\nfunction inLeapYear(t) {\n return daysInYear(yearFromTime(t)) === 365 ? 0 : 1;\n}\nfunction monthFromTime(t) {\n var dwy = dayWithinYear(t);\n var leap = inLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nfunction dateFromTime(t) {\n var dwy = dayWithinYear(t);\n var mft = monthFromTime(t);\n var leap = inLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nfunction hourFromTime(t) {\n var hour = Math.floor(t / MS_PER_HOUR) % HOURS_PER_DAY;\n // Technically mod should return positive if y is positive\n // per https://tc39.es/ecma262/#eqn-modulo but it doesn't...\n if (objectIs(hour, -0)) {\n return 0;\n }\n if (hour < 0) {\n return 24 + hour;\n }\n return hour;\n}\nfunction minFromTime(t) {\n var mins = Math.floor(t / MS_PER_MINUTE) % MINUTES_PER_HOUR;\n if (objectIs(mins, -0)) {\n return 0;\n }\n if (mins < 0) {\n return 60 + mins;\n }\n return mins;\n}\nfunction secFromTime(t) {\n var secs = Math.floor(t / MS_PER_SECOND) % SECONDS_PER_MINUTE;\n if (objectIs(secs, -0)) {\n return 0;\n }\n if (secs < 0) {\n return 60 + secs;\n }\n return secs;\n}\nfunction getApplicableZoneData(t, timeZone) {\n var tzData = DateTimeFormat.tzData;\n var zoneData = tzData[timeZone];\n // We don't have data for this so just say it's UTC\n if (!zoneData) {\n return [0, false];\n }\n for (var i = 0; i < zoneData.length; i++) {\n if (zoneData[i][0] * 1e3 >= t) {\n var _a = zoneData[i - 1], offset = _a[2], dst = _a[3];\n return [offset * 1e3, dst];\n }\n }\n return [0, false];\n}\nfunction toLocalTime(t, calendar, timeZone) {\n invariant(typeof t === 'number', 'invalid time');\n invariant(calendar === 'gregory', 'We only support Gregory calendar right now');\n var _a = getApplicableZoneData(t, timeZone), timeZoneOffset = _a[0], inDST = _a[1];\n var tz = t + timeZoneOffset;\n var year = yearFromTime(tz);\n return {\n weekday: weekDay(tz),\n era: year < 0 ? 'BC' : 'AD',\n year: year,\n relatedYear: undefined,\n yearName: undefined,\n month: monthFromTime(tz),\n day: dateFromTime(tz),\n hour: hourFromTime(tz),\n minute: minFromTime(tz),\n second: secFromTime(tz),\n inDST: inDST,\n // IMPORTANT: Not in spec\n timeZoneOffset: timeZoneOffset,\n };\n}\nexport var DateTimeFormat = function (locales, options) {\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n if (!this || !(this instanceof DateTimeFormat)) {\n return new DateTimeFormat(locales, options);\n }\n initializeDateTimeFormat(this, locales, options);\n /** IMPL START */\n var internalSlots = getInternalSlots(this);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n invariant(dataLocaleData !== undefined, \"Cannot load locale-dependent data for \" + dataLocale + \".\");\n /** IMPL END */\n};\n// Static properties\ndefineProperty(DateTimeFormat, 'supportedLocalesOf', {\n value: function supportedLocalesOf(locales, options) {\n return supportedLocales(DateTimeFormat.availableLocales, Intl.getCanonicalLocales(locales), options);\n },\n});\ndefineProperty(DateTimeFormat.prototype, 'resolvedOptions', {\n value: function resolvedOptions() {\n if (typeof this !== 'object' || !(this instanceof DateTimeFormat)) {\n throw TypeError('Method Intl.DateTimeFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = getInternalSlots(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var value = internalSlots[key];\n if (key === 'hourCycle') {\n ro.hour12 =\n value === 'h11' || value === 'h12'\n ? true\n : value === 'h23' || value === 'h24'\n ? false\n : undefined;\n }\n if (value !== undefined) {\n ro[key] = value;\n }\n }\n return ro;\n },\n});\ndefineProperty(DateTimeFormat.prototype, 'formatToParts', {\n value: function formatToParts(date) {\n if (date === undefined) {\n date = Date.now();\n }\n else {\n date = toNumber(date);\n }\n return formatDateTimeParts(this, date);\n },\n});\nDateTimeFormat.__defaultTimeZone = 'UTC';\nDateTimeFormat.__addLocaleData = function __addLocaleData() {\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 = datum.availableLocales;\n for (var _b = 0, availableLocales_1 = availableLocales; _b < availableLocales_1.length; _b++) {\n var locale = availableLocales_1[_b];\n try {\n var _c = unpackData(locale, datum), formats = _c.formats, rawData = __rest(_c, [\"formats\"]);\n var processedData = __assign(__assign({}, rawData), { formats: {} });\n for (var calendar in formats) {\n processedData.formats[calendar] = formats[calendar].map(parseDateTimeSkeleton);\n }\n DateTimeFormat.localeData[locale] = processedData;\n }\n catch (e) {\n // Ignore if we got no data\n }\n }\n }\n DateTimeFormat.availableLocales = Object.keys(DateTimeFormat.localeData);\n if (!DateTimeFormat.__defaultLocale) {\n DateTimeFormat.__defaultLocale = DateTimeFormat.availableLocales[0];\n }\n};\nObject.defineProperty(DateTimeFormat.prototype, 'format', formatDescriptor);\nDateTimeFormat.__defaultLocale = '';\nDateTimeFormat.localeData = {};\nDateTimeFormat.availableLocales = [];\nDateTimeFormat.getDefaultLocale = function () {\n return DateTimeFormat.__defaultLocale;\n};\nDateTimeFormat.polyfilled = true;\nDateTimeFormat.tzData = {};\nDateTimeFormat.__addTZData = function (d) {\n DateTimeFormat.tzData = unpack(d);\n};\ntry {\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(DateTimeFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.DateTimeFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n Object.defineProperty(DateTimeFormat.prototype.constructor, '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 { DateTimeFormat } from '.';\nimport { defineProperty } from '@formatjs/intl-utils';\nfunction supportsDateStyle() {\n return !!new Intl.DateTimeFormat(undefined, {\n dateStyle: 'short',\n }).resolvedOptions().dateStyle;\n}\nif (!('DateTimeFormat' in Intl) ||\n !('formatToParts' in Intl.DateTimeFormat.prototype) ||\n !supportsDateStyle()) {\n defineProperty(Intl, 'DateTimeFormat', { value: DateTimeFormat });\n}\n//# sourceMappingURL=polyfill.js.map"],"names":["this","__assign"],"mappings":"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"}
1
+ {"version":3,"file":"polyfill.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/units.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/resolve-locale.js","../../lib/get_internal_slots.js","../../lib/links.js","../../lib/packer.js","../../lib/skeleton.js","../../lib/core.js","../../lib/to_locale_string.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","// https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\n//# sourceMappingURL=units.js.map","import { invariant } from './invariant';\nimport { SANCTIONED_UNITS } from './units';\nexport function hasOwnProperty(o, key) {\n return Object.prototype.hasOwnProperty.call(o, key);\n}\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 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 */\nexport function setNumberFormatDigitOptions(internalSlots, 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 internalSlots.minimumIntegerDigits = mnid;\n if (mnsd !== undefined || mxsd !== undefined) {\n internalSlots.roundingType = 'significantDigits';\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n internalSlots.roundingType = 'fractionDigits';\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else if (notation === 'compact') {\n internalSlots.roundingType = 'compactRounding';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.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/ecma402/#sec-iswellformedcurrencycode\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 * https://tc39.es/ecma402/#sec-formatnumberstring\n * TODO: dedup with intl-pluralrules\n */\nexport function formatNumericToString(internalSlots, x) {\n var isNegative = x < 0 || objectIs(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = internalSlots.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = toRawPrecision(x, internalSlots.minimumSignificantDigits, internalSlots.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = toRawFixed(x, internalSlots.minimumFractionDigits, internalSlots.maximumFractionDigits);\n break;\n default:\n result = toRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = toRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = internalSlots.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function toRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = a + \".\" + b;\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n// https://tc39.es/ecma402/#sec-torawprecision\nexport function toRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = m.slice(0, e + 1) + \".\" + m.slice(e + 1);\n int = e + 1;\n }\n else {\n m = \"0.\" + repeat('0', -e - 1) + m;\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\n/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\nvar SHORTENED_SACTION_UNITS = SANCTIONED_UNITS.map(function (unit) {\n return unit.replace(/^(.*?)-/, '');\n});\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function isWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (SHORTENED_SACTION_UNITS.indexOf(unit) > -1) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n if (SHORTENED_SACTION_UNITS.indexOf(units[0]) < 0 ||\n SHORTENED_SACTION_UNITS.indexOf(units[1]) < 0) {\n return false;\n }\n return true;\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n//# sourceMappingURL=polyfill-utils.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 { 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 but got \" + typeof value + \" in key \" + key);\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 = Intl.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) {\n var results = [locale];\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);\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 internalSlotMap = new WeakMap();\nexport default function getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\n//# sourceMappingURL=get_internal_slots.js.map","// @generated\n// prettier-ignore\nexport default { \"Africa/Asmera\": \"Africa/Nairobi\", \"Africa/Timbuktu\": \"Africa/Abidjan\", \"America/Argentina/ComodRivadavia\": \"America/Argentina/Catamarca\", \"America/Atka\": \"America/Adak\", \"America/Buenos_Aires\": \"America/Argentina/Buenos_Aires\", \"America/Catamarca\": \"America/Argentina/Catamarca\", \"America/Coral_Harbour\": \"America/Atikokan\", \"America/Cordoba\": \"America/Argentina/Cordoba\", \"America/Ensenada\": \"America/Tijuana\", \"America/Fort_Wayne\": \"America/Indiana/Indianapolis\", \"America/Godthab\": \"America/Nuuk\", \"America/Indianapolis\": \"America/Indiana/Indianapolis\", \"America/Jujuy\": \"America/Argentina/Jujuy\", \"America/Knox_IN\": \"America/Indiana/Knox\", \"America/Louisville\": \"America/Kentucky/Louisville\", \"America/Mendoza\": \"America/Argentina/Mendoza\", \"America/Montreal\": \"America/Toronto\", \"America/Porto_Acre\": \"America/Rio_Branco\", \"America/Rosario\": \"America/Argentina/Cordoba\", \"America/Santa_Isabel\": \"America/Tijuana\", \"America/Shiprock\": \"America/Denver\", \"America/Virgin\": \"America/Port_of_Spain\", \"Antarctica/South_Pole\": \"Pacific/Auckland\", \"Asia/Ashkhabad\": \"Asia/Ashgabat\", \"Asia/Calcutta\": \"Asia/Kolkata\", \"Asia/Chongqing\": \"Asia/Shanghai\", \"Asia/Chungking\": \"Asia/Shanghai\", \"Asia/Dacca\": \"Asia/Dhaka\", \"Asia/Harbin\": \"Asia/Shanghai\", \"Asia/Kashgar\": \"Asia/Urumqi\", \"Asia/Katmandu\": \"Asia/Kathmandu\", \"Asia/Macao\": \"Asia/Macau\", \"Asia/Rangoon\": \"Asia/Yangon\", \"Asia/Saigon\": \"Asia/Ho_Chi_Minh\", \"Asia/Tel_Aviv\": \"Asia/Jerusalem\", \"Asia/Thimbu\": \"Asia/Thimphu\", \"Asia/Ujung_Pandang\": \"Asia/Makassar\", \"Asia/Ulan_Bator\": \"Asia/Ulaanbaatar\", \"Atlantic/Faeroe\": \"Atlantic/Faroe\", \"Atlantic/Jan_Mayen\": \"Europe/Oslo\", \"Australia/ACT\": \"Australia/Sydney\", \"Australia/Canberra\": \"Australia/Sydney\", \"Australia/LHI\": \"Australia/Lord_Howe\", \"Australia/NSW\": \"Australia/Sydney\", \"Australia/North\": \"Australia/Darwin\", \"Australia/Queensland\": \"Australia/Brisbane\", \"Australia/South\": \"Australia/Adelaide\", \"Australia/Tasmania\": \"Australia/Hobart\", \"Australia/Victoria\": \"Australia/Melbourne\", \"Australia/West\": \"Australia/Perth\", \"Australia/Yancowinna\": \"Australia/Broken_Hill\", \"Brazil/Acre\": \"America/Rio_Branco\", \"Brazil/DeNoronha\": \"America/Noronha\", \"Brazil/East\": \"America/Sao_Paulo\", \"Brazil/West\": \"America/Manaus\", \"Canada/Atlantic\": \"America/Halifax\", \"Canada/Central\": \"America/Winnipeg\", \"Canada/Eastern\": \"America/Toronto\", \"Canada/Mountain\": \"America/Edmonton\", \"Canada/Newfoundland\": \"America/St_Johns\", \"Canada/Pacific\": \"America/Vancouver\", \"Canada/Saskatchewan\": \"America/Regina\", \"Canada/Yukon\": \"America/Whitehorse\", \"Chile/Continental\": \"America/Santiago\", \"Chile/EasterIsland\": \"Pacific/Easter\", \"Cuba\": \"America/Havana\", \"Egypt\": \"Africa/Cairo\", \"Eire\": \"Europe/Dublin\", \"Etc/UCT\": \"Etc/UTC\", \"Europe/Belfast\": \"Europe/London\", \"Europe/Tiraspol\": \"Europe/Chisinau\", \"GB\": \"Europe/London\", \"GB-Eire\": \"Europe/London\", \"GMT+0\": \"Etc/GMT\", \"GMT-0\": \"Etc/GMT\", \"GMT0\": \"Etc/GMT\", \"Greenwich\": \"Etc/GMT\", \"Hongkong\": \"Asia/Hong_Kong\", \"Iceland\": \"Atlantic/Reykjavik\", \"Iran\": \"Asia/Tehran\", \"Israel\": \"Asia/Jerusalem\", \"Jamaica\": \"America/Jamaica\", \"Japan\": \"Asia/Tokyo\", \"Kwajalein\": \"Pacific/Kwajalein\", \"Libya\": \"Africa/Tripoli\", \"Mexico/BajaNorte\": \"America/Tijuana\", \"Mexico/BajaSur\": \"America/Mazatlan\", \"Mexico/General\": \"America/Mexico_City\", \"NZ\": \"Pacific/Auckland\", \"NZ-CHAT\": \"Pacific/Chatham\", \"Navajo\": \"America/Denver\", \"PRC\": \"Asia/Shanghai\", \"Pacific/Johnston\": \"Pacific/Honolulu\", \"Pacific/Ponape\": \"Pacific/Pohnpei\", \"Pacific/Samoa\": \"Pacific/Pago_Pago\", \"Pacific/Truk\": \"Pacific/Chuuk\", \"Pacific/Yap\": \"Pacific/Chuuk\", \"Poland\": \"Europe/Warsaw\", \"Portugal\": \"Europe/Lisbon\", \"ROC\": \"Asia/Taipei\", \"ROK\": \"Asia/Seoul\", \"Singapore\": \"Asia/Singapore\", \"Turkey\": \"Europe/Istanbul\", \"UCT\": \"Etc/UTC\", \"US/Alaska\": \"America/Anchorage\", \"US/Aleutian\": \"America/Adak\", \"US/Arizona\": \"America/Phoenix\", \"US/Central\": \"America/Chicago\", \"US/East-Indiana\": \"America/Indiana/Indianapolis\", \"US/Eastern\": \"America/New_York\", \"US/Hawaii\": \"Pacific/Honolulu\", \"US/Indiana-Starke\": \"America/Indiana/Knox\", \"US/Michigan\": \"America/Detroit\", \"US/Mountain\": \"America/Denver\", \"US/Pacific\": \"America/Los_Angeles\", \"US/Samoa\": \"Pacific/Pago_Pago\", \"UTC\": \"Etc/UTC\", \"Universal\": \"Etc/UTC\", \"W-SU\": \"Europe/Moscow\", \"Zulu\": \"Etc/UTC\" };\n//# sourceMappingURL=links.js.map","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};\nexport function pack(data) {\n return {\n zones: Object.keys(data.zones).map(function (zone) {\n return __spreadArrays([\n zone\n ], data.zones[zone].map(function (_a) {\n var ts = _a[0], others = _a.slice(1);\n return __spreadArrays([ts === '' ? '' : ts.toString(36)], others).join(',');\n })).join('|');\n }),\n abbrvs: data.abbrvs.join('|'),\n offsets: data.offsets.map(function (o) { return o.toString(36); }).join('|'),\n };\n}\nexport function unpack(data) {\n var abbrvs = data.abbrvs.split('|');\n var offsets = data.offsets.split('|').map(function (n) { return parseInt(n, 36); });\n var packedZones = data.zones;\n var zones = {};\n for (var _i = 0, packedZones_1 = packedZones; _i < packedZones_1.length; _i++) {\n var d = packedZones_1[_i];\n var _a = d.split('|'), zone = _a[0], zoneData = _a.slice(1);\n zones[zone] = zoneData\n .map(function (z) { return z.split(','); })\n .map(function (_a) {\n var ts = _a[0], abbrvIndex = _a[1], offsetIndex = _a[2], dst = _a[3];\n return [\n ts === '' ? -Infinity : parseInt(ts, 36),\n abbrvs[+abbrvIndex],\n offsets[+offsetIndex],\n dst === '1',\n ];\n });\n }\n return zones;\n}\n//# sourceMappingURL=packer.js.map","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {\n pattern: '',\n pattern12: '',\n skeleton: skeleton,\n };\n var literals = [];\n result.pattern12 = skeleton\n // Double apostrophe\n .replace(/'{2}/g, '{apostrophe}')\n // Apostrophe-escaped\n .replace(/'(.*?)'/g, function (_, literal) {\n literals.push(literal);\n return \"$$\" + (literals.length - 1) + \"$$\";\n })\n .replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n return '{era}';\n // Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n result.year = len === 2 ? '2-digit' : 'numeric';\n return '{year}';\n // Quarter\n case 'q':\n case 'Q':\n return '{quarter}';\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n return '{month}';\n // Week\n case 'w':\n case 'W':\n return '{weekday}';\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n return '{day}';\n case 'D':\n case 'F':\n case 'g':\n result.day = 'numeric';\n return '{day}';\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n return '{weekday}';\n case 'e':\n result.weekday = [\n 'numeric',\n '2-digit',\n 'short',\n 'long',\n 'narrow',\n 'short',\n ][len - 1];\n return '{weekday}';\n case 'c':\n result.weekday = [\n 'numeric',\n undefined,\n 'short',\n 'long',\n 'narrow',\n 'short',\n ][len - 1];\n return '{weekday}';\n // Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n result.hour12 = true;\n return '{ampm}';\n // Hour\n case 'h':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'H':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'K':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'k':\n result.hour = ['numeric', '2-digit'][len - 1];\n return '{hour}';\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n return '{minute}';\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n return '{second}';\n case 'S':\n case 'A':\n result.second = 'numeric';\n return '{second}';\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n result.timeZoneName = len < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n return '';\n });\n //Restore literals\n if (literals.length) {\n result.pattern12 = result.pattern12\n .replace(/\\$\\$(\\d+)\\$\\$/g, function (_, i) {\n return literals[+i];\n })\n .replace(/\\{apostrophe\\}/g, \"'\");\n }\n // Handle apostrophe-escaped things\n result.pattern = result.pattern12\n .replace(/([\\s\\uFEFF\\xA0])\\{ampm\\}([\\s\\uFEFF\\xA0])/, '$1')\n .replace('{ampm}', '')\n .replace(expPatternTrimmer, '');\n return result;\n}\n//# sourceMappingURL=skeleton.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 __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { getOption, createResolveLocale, invariant, toObject, defineProperty, supportedLocales, objectIs, partitionPattern, unpackData, } from '@formatjs/intl-utils';\nimport getInternalSlots from './get_internal_slots';\nimport links from './links';\nimport { unpack } from './packer';\nimport { parseDateTimeSkeleton } from './skeleton';\nvar UPPERCASED_LINKS = Object.keys(links).reduce(function (all, l) {\n all[l.toUpperCase()] = links[l];\n return all;\n}, {});\nvar DATE_TIME_PROPS = [\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'calendar',\n 'numberingSystem',\n 'timeZone',\n 'hourCycle',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nvar TYPE_REGEX = /^[a-z0-9]{3,8}$/i;\n/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n */\nfunction isValidTimeZoneName(tz) {\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set(Object.keys(DateTimeFormat.tzData).map(function (z) { return z.toUpperCase(); }));\n return zoneNames.has(uppercasedTz) || uppercasedTz in UPPERCASED_LINKS;\n}\n/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nfunction canonicalizeTimeZoneName(tz) {\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = Object.keys(DateTimeFormat.tzData).reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = UPPERCASED_LINKS[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nfunction toNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction toInteger(n) {\n var number = toNumber(n);\n if (isNaN(number) || objectIs(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (objectIs(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nfunction timeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e16) {\n return NaN;\n }\n return toInteger(time);\n}\n/**\n * https://tc39.es/ecma402/#sec-initializedatetimeformat\n * @param dtf DateTimeFormat\n * @param locales locales\n * @param opts options\n */\nfunction initializeDateTimeFormat(dtf, locales, opts) {\n // @ts-ignore\n var requestedLocales = Intl.getCanonicalLocales(locales);\n var options = toDateTimeOptions(opts, 'any', 'date');\n var opt = Object.create(null);\n var matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var calendar = getOption(options, 'calendar', 'string', undefined, undefined);\n if (calendar !== undefined && !TYPE_REGEX.test(calendar)) {\n throw new RangeError('Malformed calendar');\n }\n var internalSlots = getInternalSlots(dtf);\n opt.ca = calendar;\n var numberingSystem = getOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined && !TYPE_REGEX.test(numberingSystem)) {\n throw new RangeError('Malformed numbering system');\n }\n opt.nu = numberingSystem;\n var hour12 = getOption(options, 'hour12', 'boolean', undefined, undefined);\n var hourCycle = getOption(options, 'hourCycle', 'string', ['h11', 'h12', 'h23', 'h24'], undefined);\n if (hour12 !== undefined) {\n // @ts-ignore\n hourCycle = null;\n }\n opt.hc = hourCycle;\n var r = createResolveLocale(DateTimeFormat.getDefaultLocale)(DateTimeFormat.availableLocales, requestedLocales, \n // TODO: Fix the type\n opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu', 'ca', 'hc'], DateTimeFormat.localeData);\n internalSlots.locale = r.locale;\n calendar = r.ca;\n internalSlots.calendar = calendar;\n internalSlots.hourCycle = r.hc;\n internalSlots.numberingSystem = r.nu;\n var dataLocale = r.dataLocale;\n internalSlots.dataLocale = dataLocale;\n var timeZone = options.timeZone;\n if (timeZone !== undefined) {\n timeZone = String(timeZone);\n if (!isValidTimeZoneName(timeZone)) {\n throw new RangeError('Invalid timeZoneName');\n }\n timeZone = canonicalizeTimeZoneName(timeZone);\n }\n else {\n timeZone = DateTimeFormat.__defaultLocale;\n }\n internalSlots.timeZone = timeZone;\n opt = Object.create(null);\n opt.weekday = getOption(options, 'weekday', 'string', ['narrow', 'short', 'long'], undefined);\n opt.era = getOption(options, 'era', 'string', ['narrow', 'short', 'long'], undefined);\n opt.year = getOption(options, 'year', 'string', ['2-digit', 'numeric'], undefined);\n opt.month = getOption(options, 'month', 'string', ['2-digit', 'numeric', 'narrow', 'short', 'long'], undefined);\n opt.day = getOption(options, 'day', 'string', ['2-digit', 'numeric'], undefined);\n opt.hour = getOption(options, 'hour', 'string', ['2-digit', 'numeric'], undefined);\n opt.minute = getOption(options, 'minute', 'string', ['2-digit', 'numeric'], undefined);\n opt.second = getOption(options, 'second', 'string', ['2-digit', 'numeric'], undefined);\n opt.timeZoneName = getOption(options, 'timeZoneName', 'string', ['short', 'long'], undefined);\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n var formats = dataLocaleData.formats[calendar];\n matcher = getOption(options, 'formatMatcher', 'string', ['basic', 'best fit'], 'best fit');\n var bestFormat;\n if (matcher === 'basic') {\n bestFormat = basicFormatMatcher(opt, formats);\n }\n else {\n opt.hour12 =\n internalSlots.hourCycle === 'h11' || internalSlots.hourCycle === 'h12';\n bestFormat = bestFitFormatMatcher(opt, formats);\n }\n for (var prop in opt) {\n var p = bestFormat[prop];\n if (p !== undefined) {\n internalSlots[prop] = p;\n }\n }\n var pattern;\n if (internalSlots.hour !== undefined) {\n var hcDefault = dataLocaleData.hourCycle;\n var hc = internalSlots.hourCycle;\n if (hc == null) {\n hc = hcDefault;\n }\n if (hour12 !== undefined) {\n if (hour12) {\n if (hcDefault === 'h11' || hcDefault === 'h23') {\n hc = 'h11';\n }\n else {\n hc = 'h12';\n }\n }\n else {\n invariant(!hour12, 'hour12 must not be set');\n if (hcDefault === 'h11' || hcDefault === 'h23') {\n hc = 'h23';\n }\n else {\n hc = 'h24';\n }\n }\n }\n internalSlots.hourCycle = hc;\n if (hc === 'h11' || hc === 'h12') {\n pattern = bestFormat.pattern12;\n }\n else {\n pattern = bestFormat.pattern;\n }\n }\n else {\n // @ts-ignore\n internalSlots.hourCycle = undefined;\n pattern = bestFormat.pattern;\n }\n internalSlots.pattern = pattern;\n return dtf;\n}\n/**\n * https://tc39.es/ecma402/#sec-todatetimeoptions\n * @param options\n * @param required\n * @param defaults\n */\nexport function toDateTimeOptions(options, required, defaults) {\n if (options === undefined) {\n options = null;\n }\n else {\n options = toObject(options);\n }\n options = Object.create(options);\n var needDefaults = true;\n if (required === 'date' || required === 'any') {\n for (var _i = 0, _a = ['weekday', 'year', 'month', 'day']; _i < _a.length; _i++) {\n var prop = _a[_i];\n var value = options[prop];\n if (value !== undefined) {\n needDefaults = false;\n }\n }\n }\n if (required === 'time' || required === 'any') {\n for (var _b = 0, _c = ['hour', 'minute', 'second']; _b < _c.length; _b++) {\n var prop = _c[_b];\n var value = options[prop];\n if (value !== undefined) {\n needDefaults = false;\n }\n }\n }\n if (needDefaults && (defaults === 'date' || defaults === 'all')) {\n for (var _d = 0, _e = ['year', 'month', 'day']; _d < _e.length; _d++) {\n var prop = _e[_d];\n options[prop] = 'numeric';\n }\n }\n if (needDefaults && (defaults === 'time' || defaults === 'all')) {\n for (var _f = 0, _g = ['hour', 'minute', 'second']; _f < _g.length; _f++) {\n var prop = _g[_f];\n options[prop] = 'numeric';\n }\n }\n return options;\n}\nvar BASIC_FORMAT_MATCHER_VALUES = [\n '2-digit',\n 'numeric',\n 'narrow',\n 'short',\n 'long',\n];\nvar removalPenalty = 120;\nvar additionPenalty = 20;\nvar longLessPenalty = 8;\nvar longMorePenalty = 6;\nvar shortLessPenalty = 6;\nvar shortMorePenalty = 3;\nexport function basicFormatMatcherScore(options, format) {\n var score = 0;\n for (var _i = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_1.length; _i++) {\n var prop = DATE_TIME_PROPS_1[_i];\n var optionsProp = options[prop];\n var formatProp = format[prop];\n if (optionsProp === undefined && formatProp !== undefined) {\n score -= additionPenalty;\n }\n else if (optionsProp !== undefined && formatProp === undefined) {\n score -= removalPenalty;\n }\n else if (optionsProp !== formatProp) {\n var optionsPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(optionsProp);\n var formatPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(formatProp);\n var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));\n if (delta === 2) {\n score -= longMorePenalty;\n }\n else if (delta === 1) {\n score -= shortMorePenalty;\n }\n else if (delta === -1) {\n score -= shortLessPenalty;\n }\n else if (delta === -2) {\n score -= longLessPenalty;\n }\n }\n }\n return score;\n}\n/**\n * Credit: https://github.com/andyearnshaw/Intl.js/blob/0958dc1ad8153f1056653ea22b8208f0df289a4e/src/12.datetimeformat.js#L611\n * with some modifications\n * @param options\n * @param format\n */\nexport function bestFitFormatMatcherScore(options, format) {\n var score = 0;\n if (options.hour12 && !format.hour12) {\n score -= removalPenalty;\n }\n else if (!options.hour12 && format.hour12) {\n score -= additionPenalty;\n }\n for (var _i = 0, DATE_TIME_PROPS_2 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_2.length; _i++) {\n var prop = DATE_TIME_PROPS_2[_i];\n var optionsProp = options[prop];\n var formatProp = format[prop];\n if (optionsProp === undefined && formatProp !== undefined) {\n score -= additionPenalty;\n }\n else if (optionsProp !== undefined && formatProp === undefined) {\n score -= removalPenalty;\n }\n else if (optionsProp !== formatProp) {\n var optionsPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(optionsProp);\n var formatPropIndex = BASIC_FORMAT_MATCHER_VALUES.indexOf(formatProp);\n var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2));\n if (delta === 2) {\n score -= longMorePenalty;\n }\n else if (delta === 1) {\n score -= shortMorePenalty;\n }\n else if (delta === -1) {\n score -= shortLessPenalty;\n }\n else if (delta === -2) {\n score -= longLessPenalty;\n }\n }\n }\n return score;\n}\n/**\n * https://tc39.es/ecma402/#sec-basicformatmatcher\n * @param options\n * @param formats\n */\nfunction basicFormatMatcher(options, formats) {\n var bestScore = -Infinity;\n var bestFormat = formats[0];\n invariant(Array.isArray(formats), 'formats should be a list of things');\n for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) {\n var format = formats_1[_i];\n var score = basicFormatMatcherScore(options, format);\n if (score > bestScore) {\n bestScore = score;\n bestFormat = format;\n }\n }\n return __assign({}, bestFormat);\n}\nfunction isNumericType(t) {\n return t === 'numeric' || t === '2-digit';\n}\n/**\n * https://tc39.es/ecma402/#sec-bestfitformatmatcher\n * Just alias to basic for now\n * @param options\n * @param formats\n */\nfunction bestFitFormatMatcher(options, formats) {\n var bestScore = -Infinity;\n var bestFormat = formats[0];\n invariant(Array.isArray(formats), 'formats should be a list of things');\n for (var _i = 0, formats_2 = formats; _i < formats_2.length; _i++) {\n var format = formats_2[_i];\n var score = bestFitFormatMatcherScore(options, format);\n if (score > bestScore) {\n bestScore = score;\n bestFormat = format;\n }\n }\n bestFormat = __assign({}, bestFormat);\n // Kinda following https://github.com/unicode-org/icu/blob/dd50e38f459d84e9bf1b0c618be8483d318458ad/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java\n for (var prop in bestFormat) {\n var bestValue = bestFormat[prop];\n var inputValue = options[prop];\n // Don't mess with minute/second or we can get in the situation of\n // 7:0:0 which is weird\n if (prop === 'minute' || prop === 'second') {\n continue;\n }\n // Nothing to do here\n if (!inputValue) {\n continue;\n }\n // https://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n // Looks like we should not convert numeric to alphabetic but the other way\n // around is ok\n if (isNumericType(bestValue) &&\n !isNumericType(inputValue)) {\n continue;\n }\n // Otherwise use the input value\n bestFormat[prop] = inputValue;\n }\n return bestFormat;\n}\nvar formatDescriptor = {\n enumerable: false,\n configurable: true,\n get: function () {\n if (typeof this !== 'object' || !(this instanceof DateTimeFormat)) {\n throw TypeError('Intl.DateTimeFormat format property accessor called on incompatible receiver');\n }\n var internalSlots = getInternalSlots(this);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var dtf = this;\n var boundFormat = internalSlots.boundFormat;\n if (boundFormat === undefined) {\n // https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions\n boundFormat = function (date) {\n var x;\n if (date === undefined) {\n x = Date.now();\n }\n else {\n x = Number(date);\n }\n return formatDateTime(dtf, x);\n };\n try {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js\n Object.defineProperty(boundFormat, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: '',\n });\n }\n catch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n }\n internalSlots.boundFormat = boundFormat;\n }\n return boundFormat;\n },\n};\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/name.js\n Object.defineProperty(formatDescriptor.get, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'get format',\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n}\nfunction pad(n) {\n if (n < 10) {\n return \"0\" + n;\n }\n return String(n);\n}\nfunction offsetToGmtString(gmtFormat, hourFormat, offsetInMs, style) {\n var offsetInMinutes = Math.floor(offsetInMs / 60000);\n var mins = Math.abs(offsetInMinutes) % 60;\n var hours = Math.floor(Math.abs(offsetInMinutes) / 60);\n var _a = hourFormat.split(';'), positivePattern = _a[0], negativePattern = _a[1];\n var offsetStr = '';\n var pattern = offsetInMs < 0 ? negativePattern : positivePattern;\n if (style === 'long') {\n offsetStr = pattern\n .replace('HH', pad(hours))\n .replace('H', String(hours))\n .replace('mm', pad(mins))\n .replace('m', String(mins));\n }\n else if (mins || hours) {\n if (!mins) {\n pattern = pattern.replace(/:?m+/, '');\n }\n offsetStr = pattern\n .replace(/H+/, String(hours))\n .replace(/m+/, String(mins));\n }\n return gmtFormat.replace('{0}', offsetStr);\n}\n/**\n * https://tc39.es/ecma402/#sec-partitiondatetimepattern\n * @param dtf\n * @param x\n */\nfunction partitionDateTimePattern(dtf, x) {\n x = timeClip(x);\n if (isNaN(x)) {\n throw new RangeError('invalid time');\n }\n /** IMPL START */\n var internalSlots = getInternalSlots(dtf);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n /** IMPL END */\n var locale = internalSlots.locale;\n var nfOptions = Object.create(null);\n nfOptions.useGrouping = false;\n var nf = new Intl.NumberFormat(locale, nfOptions);\n var nf2Options = Object.create(null);\n nf2Options.minimumIntegerDigits = 2;\n nf2Options.useGrouping = false;\n var nf2 = new Intl.NumberFormat(locale, nf2Options);\n var tm = toLocalTime(x, \n // @ts-ignore\n internalSlots.calendar, internalSlots.timeZone);\n var result = [];\n var patternParts = partitionPattern(internalSlots.pattern);\n for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {\n var patternPart = patternParts_1[_i];\n var p = patternPart.type;\n if (p === 'literal') {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else if (DATE_TIME_PROPS.indexOf(p) > -1) {\n var fv = '';\n var f = internalSlots[p];\n // @ts-ignore\n var v = tm[p];\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n if (p === 'month') {\n v++;\n }\n var hourCycle = internalSlots.hourCycle;\n if (p === 'hour' && (hourCycle === 'h11' || hourCycle === 'h12')) {\n v = v % 12;\n if (v === 0 && hourCycle === 'h12') {\n v = 12;\n }\n }\n if (p === 'hour' && hourCycle === 'h24') {\n if (v === 0) {\n v = 24;\n }\n }\n if (f === 'numeric') {\n fv = nf.format(v);\n }\n else if (f === '2-digit') {\n fv = nf2.format(v);\n if (fv.length > 2) {\n fv = fv.slice(fv.length - 2, fv.length);\n }\n }\n else if (f === 'narrow' || f === 'short' || f === 'long') {\n if (p === 'era') {\n fv = dataLocaleData[p][f][v];\n }\n else if (p === 'timeZoneName') {\n var timeZoneName = dataLocaleData.timeZoneName, gmtFormat = dataLocaleData.gmtFormat, hourFormat = dataLocaleData.hourFormat;\n var timeZone = internalSlots.timeZone || DateTimeFormat.__defaultTimeZone;\n var timeZoneData = timeZoneName[timeZone];\n if (timeZoneData && timeZoneData[f]) {\n fv = timeZoneData[f][+tm.inDST];\n }\n else {\n // Fallback to gmtFormat\n fv = offsetToGmtString(gmtFormat, hourFormat, tm.timeZoneOffset, f);\n }\n }\n else if (p === 'month') {\n fv = dataLocaleData.month[f][v - 1];\n }\n else {\n fv = dataLocaleData[p][f][v];\n }\n }\n result.push({\n type: p,\n value: fv,\n });\n }\n else if (p === 'ampm') {\n var v = tm.hour;\n var fv = void 0;\n if (v >= 11) {\n fv = dataLocaleData.pm;\n }\n else {\n fv = dataLocaleData.am;\n }\n result.push({\n type: 'dayPeriod',\n value: fv,\n });\n }\n else if (p === 'relatedYear') {\n var v = tm.relatedYear;\n // @ts-ignore\n var fv = nf.format(v);\n result.push({\n type: 'relatedYear',\n value: fv,\n });\n }\n else if (p === 'yearName') {\n var v = tm.yearName;\n // @ts-ignore\n var fv = nf.format(v);\n result.push({\n type: 'yearName',\n value: fv,\n });\n }\n else {\n result.push({\n type: 'unknown',\n value: x,\n });\n }\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-formatdatetime\n * @param dtf DateTimeFormat\n * @param x\n */\nfunction formatDateTime(dtf, x) {\n var parts = partitionDateTimePattern(dtf, x);\n var result = '';\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result += part.value;\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-formatdatetimetoparts\n * @param dtf DateTimeFormat\n * @param x\n */\nfunction formatDateTimeParts(dtf, x) {\n return partitionDateTimePattern(dtf, x);\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo\n * @param x\n * @param y\n * @return k of the same sign as y\n */\nfunction mod(x, y) {\n return x - Math.floor(x / y) * y;\n}\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nfunction day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nfunction weekDay(t) {\n return mod(day(t) + 4, 7);\n}\nfunction dayFromYear(y) {\n return (365 * (y - 1970) +\n Math.floor((y - 1969) / 4) -\n Math.floor((y - 1901) / 100) +\n Math.floor((y - 1601) / 400));\n}\nfunction timeFromYear(y) {\n return MS_PER_DAY * dayFromYear(y);\n}\nfunction yearFromTime(t) {\n var min = Math.ceil(t / MS_PER_DAY / 366);\n var y = min;\n while (timeFromYear(y) <= t) {\n y++;\n }\n return y - 1;\n}\nfunction daysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nfunction dayWithinYear(t) {\n return day(t) - dayFromYear(yearFromTime(t));\n}\nfunction inLeapYear(t) {\n return daysInYear(yearFromTime(t)) === 365 ? 0 : 1;\n}\nfunction monthFromTime(t) {\n var dwy = dayWithinYear(t);\n var leap = inLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nfunction dateFromTime(t) {\n var dwy = dayWithinYear(t);\n var mft = monthFromTime(t);\n var leap = inLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nfunction hourFromTime(t) {\n return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);\n}\nfunction minFromTime(t) {\n return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);\n}\nfunction secFromTime(t) {\n return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);\n}\nfunction getApplicableZoneData(t, timeZone) {\n var tzData = DateTimeFormat.tzData;\n var zoneData = tzData[timeZone];\n // We don't have data for this so just say it's UTC\n if (!zoneData) {\n return [0, false];\n }\n for (var i = 0; i < zoneData.length; i++) {\n if (zoneData[i][0] * 1e3 >= t) {\n var _a = zoneData[i - 1], offset = _a[2], dst = _a[3];\n return [offset * 1e3, dst];\n }\n }\n return [0, false];\n}\nfunction toLocalTime(t, calendar, timeZone) {\n invariant(typeof t === 'number', 'invalid time');\n invariant(calendar === 'gregory', 'We only support Gregory calendar right now');\n var _a = getApplicableZoneData(t, timeZone), timeZoneOffset = _a[0], inDST = _a[1];\n var tz = t + timeZoneOffset;\n var year = yearFromTime(tz);\n return {\n weekday: weekDay(tz),\n era: year < 0 ? 'BC' : 'AD',\n year: year,\n relatedYear: undefined,\n yearName: undefined,\n month: monthFromTime(tz),\n day: dateFromTime(tz),\n hour: hourFromTime(tz),\n minute: minFromTime(tz),\n second: secFromTime(tz),\n inDST: inDST,\n // IMPORTANT: Not in spec\n timeZoneOffset: timeZoneOffset,\n };\n}\nexport var DateTimeFormat = function (locales, options) {\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n if (!this || !(this instanceof DateTimeFormat)) {\n return new DateTimeFormat(locales, options);\n }\n initializeDateTimeFormat(this, locales, options);\n /** IMPL START */\n var internalSlots = getInternalSlots(this);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = DateTimeFormat.localeData[dataLocale];\n invariant(dataLocaleData !== undefined, \"Cannot load locale-dependent data for \" + dataLocale + \".\");\n /** IMPL END */\n};\n// Static properties\ndefineProperty(DateTimeFormat, 'supportedLocalesOf', {\n value: function supportedLocalesOf(locales, options) {\n return supportedLocales(DateTimeFormat.availableLocales, Intl.getCanonicalLocales(locales), options);\n },\n});\ndefineProperty(DateTimeFormat.prototype, 'resolvedOptions', {\n value: function resolvedOptions() {\n if (typeof this !== 'object' || !(this instanceof DateTimeFormat)) {\n throw TypeError('Method Intl.DateTimeFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = getInternalSlots(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var value = internalSlots[key];\n if (key === 'hourCycle') {\n ro.hour12 =\n value === 'h11' || value === 'h12'\n ? true\n : value === 'h23' || value === 'h24'\n ? false\n : undefined;\n }\n if (value !== undefined) {\n ro[key] = value;\n }\n }\n return ro;\n },\n});\ndefineProperty(DateTimeFormat.prototype, 'formatToParts', {\n value: function formatToParts(date) {\n if (date === undefined) {\n date = Date.now();\n }\n else {\n date = toNumber(date);\n }\n return formatDateTimeParts(this, date);\n },\n});\nDateTimeFormat.__defaultTimeZone = 'UTC';\nDateTimeFormat.__addLocaleData = function __addLocaleData() {\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 = datum.availableLocales;\n for (var _b = 0, availableLocales_1 = availableLocales; _b < availableLocales_1.length; _b++) {\n var locale = availableLocales_1[_b];\n try {\n var _c = unpackData(locale, datum), formats = _c.formats, rawData = __rest(_c, [\"formats\"]);\n var processedData = __assign(__assign({}, rawData), { formats: {} });\n for (var calendar in formats) {\n processedData.formats[calendar] = formats[calendar].map(parseDateTimeSkeleton);\n }\n DateTimeFormat.localeData[locale] = processedData;\n }\n catch (e) {\n // Ignore if we got no data\n }\n }\n }\n DateTimeFormat.availableLocales = Object.keys(DateTimeFormat.localeData);\n if (!DateTimeFormat.__defaultLocale) {\n DateTimeFormat.__defaultLocale = DateTimeFormat.availableLocales[0];\n }\n};\nObject.defineProperty(DateTimeFormat.prototype, 'format', formatDescriptor);\nDateTimeFormat.__defaultLocale = '';\nDateTimeFormat.localeData = {};\nDateTimeFormat.availableLocales = [];\nDateTimeFormat.getDefaultLocale = function () {\n return DateTimeFormat.__defaultLocale;\n};\nDateTimeFormat.polyfilled = true;\nDateTimeFormat.tzData = {};\nDateTimeFormat.__addTZData = function (d) {\n DateTimeFormat.tzData = unpack(d);\n};\ntry {\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(DateTimeFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.DateTimeFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n Object.defineProperty(DateTimeFormat.prototype.constructor, '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","// eslint-disable-next-line import/no-cycle\nimport { DateTimeFormat, toDateTimeOptions } from './core';\n/**\n * Number.prototype.toLocaleString ponyfill\n * https://tc39.es/ecma402/#sup-number.prototype.tolocalestring\n */\nexport function toLocaleString(x, locales, options) {\n var dtf = new DateTimeFormat(locales, options);\n return dtf.format(x);\n}\nexport function toLocaleDateString(x, locales, options) {\n var dtf = new DateTimeFormat(locales, toDateTimeOptions(options, 'date', 'date'));\n return dtf.format(x);\n}\nexport function toLocaleTimeString(x, locales, options) {\n var dtf = new DateTimeFormat(locales, toDateTimeOptions(options, 'time', 'time'));\n return dtf.format(x);\n}\n//# sourceMappingURL=to_locale_string.js.map","import { DateTimeFormat } from '.';\nimport { defineProperty } from '@formatjs/intl-utils';\nimport { toLocaleString as _toLocaleString, toLocaleTimeString as _toLocaleTimeString, } from './to_locale_string';\n// function supportsDateStyle() {\n// return !!(new Intl.DateTimeFormat(undefined, {\n// dateStyle: 'short',\n// } as any).resolvedOptions() as any).dateStyle;\n// }\n/**\n * https://bugs.chromium.org/p/chromium/issues/detail?id=865351\n */\nfunction hasChromeLt71Bug() {\n return (new Intl.DateTimeFormat('en', {\n hourCycle: 'h11',\n hour: 'numeric',\n }).formatToParts(0)[2].type !== 'dayPeriod');\n}\nif (!('DateTimeFormat' in Intl) ||\n !('formatToParts' in Intl.DateTimeFormat.prototype) ||\n hasChromeLt71Bug()\n// !supportsDateStyle()\n) {\n defineProperty(Intl, 'DateTimeFormat', { value: DateTimeFormat });\n defineProperty(Date.prototype, 'toLocaleString', {\n value: function toLocaleString(locales, options) {\n return _toLocaleString(this, locales, options);\n },\n });\n // defineProperty(Date.prototype, 'toLocaleDateString', {\n // value: function toLocaleDateString(\n // locales?: string | string[],\n // options?: DateTimeFormatOptions\n // ) {\n // return _toLocaleDateString(this, locales, options);\n // },\n // });\n defineProperty(Date.prototype, 'toLocaleTimeString', {\n value: function toLocaleTimeString(locales, options) {\n return _toLocaleTimeString(this, locales, options);\n },\n });\n}\n//# sourceMappingURL=polyfill.js.map"],"names":["this","__assign","toLocaleString","_toLocaleString","toLocaleTimeString","_toLocaleTimeString"],"mappings":"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"}