@formatjs/intl-listformat 1.4.7 → 2.1.0

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 (243) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/core.d.ts.map +1 -1
  3. package/dist/core.js +4 -13
  4. package/dist/core.js.map +1 -1
  5. package/dist/locale-data/af.js +1 -1
  6. package/dist/locale-data/agq.js +1 -1
  7. package/dist/locale-data/ak.js +1 -1
  8. package/dist/locale-data/am.js +1 -1
  9. package/dist/locale-data/ar.js +1 -1
  10. package/dist/locale-data/as.js +1 -1
  11. package/dist/locale-data/asa.js +1 -1
  12. package/dist/locale-data/ast.js +1 -1
  13. package/dist/locale-data/az.js +1 -1
  14. package/dist/locale-data/bas.js +1 -1
  15. package/dist/locale-data/be.js +1 -1
  16. package/dist/locale-data/bem.js +1 -1
  17. package/dist/locale-data/bez.js +1 -1
  18. package/dist/locale-data/bg.js +1 -1
  19. package/dist/locale-data/bm.js +1 -1
  20. package/dist/locale-data/bn.js +1 -1
  21. package/dist/locale-data/bo.js +1 -1
  22. package/dist/locale-data/br.js +1 -1
  23. package/dist/locale-data/brx.js +1 -1
  24. package/dist/locale-data/bs.js +1 -1
  25. package/dist/locale-data/ca.js +1 -1
  26. package/dist/locale-data/ccp.js +1 -1
  27. package/dist/locale-data/ce.js +1 -1
  28. package/dist/locale-data/ceb.js +1 -1
  29. package/dist/locale-data/cgg.js +1 -1
  30. package/dist/locale-data/chr.js +1 -1
  31. package/dist/locale-data/ckb.js +1 -1
  32. package/dist/locale-data/cs.js +1 -1
  33. package/dist/locale-data/cu.js +1 -1
  34. package/dist/locale-data/cy.js +1 -1
  35. package/dist/locale-data/da.js +1 -1
  36. package/dist/locale-data/dav.js +1 -1
  37. package/dist/locale-data/de.js +1 -1
  38. package/dist/locale-data/dje.js +1 -1
  39. package/dist/locale-data/dsb.js +1 -1
  40. package/dist/locale-data/dua.js +1 -1
  41. package/dist/locale-data/dyo.js +1 -1
  42. package/dist/locale-data/dz.js +1 -1
  43. package/dist/locale-data/ebu.js +1 -1
  44. package/dist/locale-data/ee.js +1 -1
  45. package/dist/locale-data/el.js +1 -1
  46. package/dist/locale-data/en.js +1 -1
  47. package/dist/locale-data/eo.js +1 -1
  48. package/dist/locale-data/es.js +1 -1
  49. package/dist/locale-data/et.js +1 -1
  50. package/dist/locale-data/eu.js +1 -1
  51. package/dist/locale-data/ewo.js +1 -1
  52. package/dist/locale-data/fa.js +1 -1
  53. package/dist/locale-data/ff.js +1 -1
  54. package/dist/locale-data/fi.js +1 -1
  55. package/dist/locale-data/fil.js +1 -1
  56. package/dist/locale-data/fo.js +1 -1
  57. package/dist/locale-data/fr.js +1 -1
  58. package/dist/locale-data/fur.js +1 -1
  59. package/dist/locale-data/fy.js +1 -1
  60. package/dist/locale-data/ga.js +1 -1
  61. package/dist/locale-data/gd.js +1 -1
  62. package/dist/locale-data/gl.js +1 -1
  63. package/dist/locale-data/gsw.js +1 -1
  64. package/dist/locale-data/gu.js +1 -1
  65. package/dist/locale-data/guz.js +1 -1
  66. package/dist/locale-data/gv.js +1 -1
  67. package/dist/locale-data/ha.js +1 -1
  68. package/dist/locale-data/haw.js +1 -1
  69. package/dist/locale-data/he.js +1 -1
  70. package/dist/locale-data/hi.js +1 -1
  71. package/dist/locale-data/hr.js +1 -1
  72. package/dist/locale-data/hsb.js +1 -1
  73. package/dist/locale-data/hu.js +1 -1
  74. package/dist/locale-data/hy.js +1 -1
  75. package/dist/locale-data/ia.js +1 -1
  76. package/dist/locale-data/id.js +1 -1
  77. package/dist/locale-data/ig.js +1 -1
  78. package/dist/locale-data/ii.js +1 -1
  79. package/dist/locale-data/is.js +1 -1
  80. package/dist/locale-data/it.js +1 -1
  81. package/dist/locale-data/ja.js +1 -1
  82. package/dist/locale-data/jgo.js +1 -1
  83. package/dist/locale-data/jmc.js +1 -1
  84. package/dist/locale-data/jv.js +1 -1
  85. package/dist/locale-data/ka.js +1 -1
  86. package/dist/locale-data/kab.js +1 -1
  87. package/dist/locale-data/kam.js +1 -1
  88. package/dist/locale-data/kde.js +1 -1
  89. package/dist/locale-data/kea.js +1 -1
  90. package/dist/locale-data/khq.js +1 -1
  91. package/dist/locale-data/ki.js +1 -1
  92. package/dist/locale-data/kk.js +1 -1
  93. package/dist/locale-data/kkj.js +1 -1
  94. package/dist/locale-data/kl.js +1 -1
  95. package/dist/locale-data/kln.js +1 -1
  96. package/dist/locale-data/km.js +1 -1
  97. package/dist/locale-data/kn.js +1 -1
  98. package/dist/locale-data/ko.js +1 -1
  99. package/dist/locale-data/kok.js +1 -1
  100. package/dist/locale-data/ks.js +1 -1
  101. package/dist/locale-data/ksb.js +1 -1
  102. package/dist/locale-data/ksf.js +1 -1
  103. package/dist/locale-data/ksh.js +1 -1
  104. package/dist/locale-data/ku.js +1 -1
  105. package/dist/locale-data/kw.js +1 -1
  106. package/dist/locale-data/ky.js +1 -1
  107. package/dist/locale-data/lag.js +1 -1
  108. package/dist/locale-data/lb.js +1 -1
  109. package/dist/locale-data/lg.js +1 -1
  110. package/dist/locale-data/lkt.js +1 -1
  111. package/dist/locale-data/ln.js +1 -1
  112. package/dist/locale-data/lo.js +1 -1
  113. package/dist/locale-data/lrc.js +1 -1
  114. package/dist/locale-data/lt.js +1 -1
  115. package/dist/locale-data/lu.js +1 -1
  116. package/dist/locale-data/luo.js +1 -1
  117. package/dist/locale-data/luy.js +1 -1
  118. package/dist/locale-data/lv.js +1 -1
  119. package/dist/locale-data/mas.js +1 -1
  120. package/dist/locale-data/mer.js +1 -1
  121. package/dist/locale-data/mfe.js +1 -1
  122. package/dist/locale-data/mg.js +1 -1
  123. package/dist/locale-data/mgh.js +1 -1
  124. package/dist/locale-data/mgo.js +1 -1
  125. package/dist/locale-data/mi.js +1 -1
  126. package/dist/locale-data/mk.js +1 -1
  127. package/dist/locale-data/ml.js +1 -1
  128. package/dist/locale-data/mn.js +1 -1
  129. package/dist/locale-data/mr.js +1 -1
  130. package/dist/locale-data/ms.js +1 -1
  131. package/dist/locale-data/mt.js +1 -1
  132. package/dist/locale-data/mua.js +1 -1
  133. package/dist/locale-data/my.js +1 -1
  134. package/dist/locale-data/mzn.js +1 -1
  135. package/dist/locale-data/naq.js +1 -1
  136. package/dist/locale-data/nb.js +1 -1
  137. package/dist/locale-data/nd.js +1 -1
  138. package/dist/locale-data/nds.js +1 -1
  139. package/dist/locale-data/ne.js +1 -1
  140. package/dist/locale-data/nl.js +1 -1
  141. package/dist/locale-data/nmg.js +1 -1
  142. package/dist/locale-data/nn.js +1 -1
  143. package/dist/locale-data/nnh.js +1 -1
  144. package/dist/locale-data/nus.js +1 -1
  145. package/dist/locale-data/nyn.js +1 -1
  146. package/dist/locale-data/om.js +1 -1
  147. package/dist/locale-data/or.js +1 -1
  148. package/dist/locale-data/os.js +1 -1
  149. package/dist/locale-data/pa.js +1 -1
  150. package/dist/locale-data/pl.js +1 -1
  151. package/dist/locale-data/prg.js +1 -1
  152. package/dist/locale-data/ps.js +1 -1
  153. package/dist/locale-data/pt.js +1 -1
  154. package/dist/locale-data/qu.js +1 -1
  155. package/dist/locale-data/rm.js +1 -1
  156. package/dist/locale-data/rn.js +1 -1
  157. package/dist/locale-data/ro.js +1 -1
  158. package/dist/locale-data/rof.js +1 -1
  159. package/dist/locale-data/root.js +1 -1
  160. package/dist/locale-data/ru.js +1 -1
  161. package/dist/locale-data/rw.js +1 -1
  162. package/dist/locale-data/rwk.js +1 -1
  163. package/dist/locale-data/sah.js +1 -1
  164. package/dist/locale-data/saq.js +1 -1
  165. package/dist/locale-data/sbp.js +1 -1
  166. package/dist/locale-data/sd.js +1 -1
  167. package/dist/locale-data/se.js +1 -1
  168. package/dist/locale-data/seh.js +1 -1
  169. package/dist/locale-data/ses.js +1 -1
  170. package/dist/locale-data/sg.js +1 -1
  171. package/dist/locale-data/shi.js +1 -1
  172. package/dist/locale-data/si.js +1 -1
  173. package/dist/locale-data/sk.js +1 -1
  174. package/dist/locale-data/sl.js +1 -1
  175. package/dist/locale-data/smn.js +1 -1
  176. package/dist/locale-data/sn.js +1 -1
  177. package/dist/locale-data/so.js +1 -1
  178. package/dist/locale-data/sq.js +1 -1
  179. package/dist/locale-data/sr.js +1 -1
  180. package/dist/locale-data/sv.js +1 -1
  181. package/dist/locale-data/sw.js +1 -1
  182. package/dist/locale-data/ta.js +1 -1
  183. package/dist/locale-data/te.js +1 -1
  184. package/dist/locale-data/teo.js +1 -1
  185. package/dist/locale-data/tg.js +1 -1
  186. package/dist/locale-data/th.js +1 -1
  187. package/dist/locale-data/ti.js +1 -1
  188. package/dist/locale-data/tk.js +1 -1
  189. package/dist/locale-data/to.js +1 -1
  190. package/dist/locale-data/tr.js +1 -1
  191. package/dist/locale-data/tt.js +1 -1
  192. package/dist/locale-data/twq.js +1 -1
  193. package/dist/locale-data/tzm.js +1 -1
  194. package/dist/locale-data/ug.js +1 -1
  195. package/dist/locale-data/uk.js +1 -1
  196. package/dist/locale-data/ur.js +1 -1
  197. package/dist/locale-data/uz.js +1 -1
  198. package/dist/locale-data/vai.js +1 -1
  199. package/dist/locale-data/vi.js +1 -1
  200. package/dist/locale-data/vo.js +1 -1
  201. package/dist/locale-data/vun.js +1 -1
  202. package/dist/locale-data/wae.js +1 -1
  203. package/dist/locale-data/wo.js +1 -1
  204. package/dist/locale-data/xh.js +1 -1
  205. package/dist/locale-data/xog.js +1 -1
  206. package/dist/locale-data/yav.js +1 -1
  207. package/dist/locale-data/yi.js +1 -1
  208. package/dist/locale-data/yo.js +1 -1
  209. package/dist/locale-data/yue.js +1 -1
  210. package/dist/locale-data/zgh.js +1 -1
  211. package/dist/locale-data/zh.js +1 -1
  212. package/dist/locale-data/zu.js +1 -1
  213. package/dist/locales.js +1 -1
  214. package/dist/locales.js.map +1 -1
  215. package/dist/polyfill-with-locales-for-test262.js +58 -38
  216. package/dist/polyfill-with-locales-for-test262.js.map +1 -1
  217. package/dist/polyfill-with-locales.js +58 -41
  218. package/dist/polyfill-with-locales.js.map +1 -1
  219. package/dist/umd/intl-listformat-with-locales.js +58 -41
  220. package/dist/umd/intl-listformat-with-locales.js.map +1 -1
  221. package/dist/umd/intl-listformat-with-locales.min.js +1 -1
  222. package/dist/umd/intl-listformat-with-locales.min.js.map +1 -1
  223. package/dist/umd/intl-listformat.js +57 -40
  224. package/dist/umd/intl-listformat.js.map +1 -1
  225. package/dist/umd/intl-listformat.min.js +1 -1
  226. package/dist/umd/intl-listformat.min.js.map +1 -1
  227. package/dist/umd/polyfill-intl-listformat.js +57 -40
  228. package/dist/umd/polyfill-intl-listformat.js.map +1 -1
  229. package/dist-es6/core.d.ts.map +1 -1
  230. package/dist-es6/core.js +5 -11
  231. package/dist-es6/core.js.map +1 -1
  232. package/dist-es6/locales.js +1 -1
  233. package/dist-es6/locales.js.map +1 -1
  234. package/lib/core.d.ts.map +1 -1
  235. package/lib/core.js +5 -14
  236. package/lib/core.js.map +1 -1
  237. package/lib/locales.js +1 -1
  238. package/lib/locales.js.map +1 -1
  239. package/lib/tsdoc-metadata.json +1 -1
  240. package/package.json +5 -4
  241. package/polyfill-locales.js +208 -208
  242. package/src/core.ts +7 -13
  243. package/src/locales.ts +208 -208
@@ -1 +1 @@
1
- {"version":3,"file":"intl-listformat.min.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/get-canonical-locales.js","../../../intl-utils/lib/resolve-locale.js","../../lib/core.js"],"sourcesContent":["export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n//# sourceMappingURL=invariant.js.map","import aliases from './aliases';\nimport parentLocales from './parentLocales';\nimport { invariant } from './invariant';\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function toObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function toString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function getOption(opts, prop, type, values, fallback) {\n // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = toString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(value + \" is not within \" + values.join(', '));\n }\n return value;\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function defaultNumberOption(val, min, max, fallback) {\n if (val !== undefined) {\n val = Number(val);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(val + \" is outside of range [\" + min + \", \" + max + \"]\");\n }\n return Math.floor(val);\n }\n return fallback;\n}\n/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nexport function getNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return defaultNumberOption(val, minimum, maximum, fallback);\n}\nexport function getAliasesByLang(lang) {\n return Object.keys(aliases).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = aliases[locale];\n }\n return all;\n }, {});\n}\nexport function getParentLocalesByLang(lang) {\n return Object.keys(parentLocales).reduce(function (all, locale) {\n if (locale.split('-')[0] === lang) {\n all[locale] = parentLocales[locale];\n }\n return all;\n }, {});\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(pl + \" InternalSlot has not been initialized\");\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\nexport function partitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \" + pattern);\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n * https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-setnfdigitoptions\n * @param intlObj\n * @param opts\n * @param mnfdDefault\n * @param mxfdDefault\n */\nexport function setNumberFormatDigitOptions(internalSlotMap, intlObj, opts, mnfdDefault, mxfdDefault) {\n var mnid = getNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n setInternalSlot(internalSlotMap, intlObj, 'minimumIntegerDigits', mnid);\n if (mnsd !== undefined || mxsd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'significantDigits');\n mnsd = defaultNumberOption(mnsd, 1, 21, 1);\n mxsd = defaultNumberOption(mxsd, mnsd, 21, 21);\n setInternalSlot(internalSlotMap, intlObj, 'minimumSignificantDigits', mnsd);\n setInternalSlot(internalSlotMap, intlObj, 'maximumSignificantDigits', mxsd);\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');\n mnfd = defaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = defaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfd);\n setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfd);\n }\n else if (getInternalSlot(internalSlotMap, intlObj, 'notation') === 'compact') {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'compactRounding');\n }\n else {\n setInternalSlot(internalSlotMap, intlObj, 'roundingType', 'fractionDigits');\n setInternalSlot(internalSlotMap, intlObj, 'minimumFractionDigits', mnfdDefault);\n setInternalSlot(internalSlotMap, intlObj, 'maximumFractionDigits', mxfdDefault);\n }\n}\nexport function objectIs(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\n/**\n * https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-iswellformedcurrencycode\n * @param currency\n */\nexport function isWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n//# sourceMappingURL=polyfill-utils.js.map","/**\n * IE11-safe version of getCanonicalLocales since it's ES2016\n * @param locales locales\n */\nexport function getCanonicalLocales(locales) {\n // IE11\n var getCanonicalLocales = Intl.getCanonicalLocales;\n if (typeof getCanonicalLocales === 'function') {\n return getCanonicalLocales(locales);\n }\n // NOTE: we must NOT call `supportedLocalesOf` of a formatjs polyfill, or their implementation\n // will even eventually call this method recursively. Here we use `Intl.DateTimeFormat` since it\n // is not polyfilled by `@formatjs`.\n return Intl.DateTimeFormat.supportedLocalesOf(locales || '');\n}\n//# sourceMappingURL=get-canonical-locales.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { getCanonicalLocales } from './get-canonical-locales';\nimport { invariant } from './invariant';\nimport { toObject, getOption } from './polyfill-utils';\nexport function createResolveLocale(getDefaultLocale) {\n var lookupMatcher = createLookupMatcher(getDefaultLocale);\n var bestFitMatcher = createBestFitMatcher(getDefaultLocale);\n /**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\n return function resolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = lookupMatcher(availableLocales, requestedLocales);\n }\n else {\n r = bestFitMatcher(availableLocales, requestedLocales);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \" + key + \" must be an object\");\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \" + key + \" must be an array\");\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, 'value must be string or null');\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = unicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\" + key + \"-\" + value;\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\" + key;\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n };\n}\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nfunction unicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\" + key + \"-\";\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\" + key;\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\nvar UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nfunction bestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (~availableLocales.indexOf(candidate)) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\nfunction createLookupMatcher(getDefaultLocale) {\n /**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n */\n return function lookupMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nfunction createBestFitMatcher(getDefaultLocale) {\n return function bestFitMatcher(availableLocales, requestedLocales) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_2 = requestedLocales; _i < requestedLocales_2.length; _i++) {\n var locale = requestedLocales_2[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n };\n}\nexport function getLocaleHierarchy(locale, aliases, parentLocales) {\n var results = [locale];\n if (aliases[locale]) {\n locale = aliases[locale];\n results.push(locale);\n }\n var parentLocale = parentLocales[locale];\n if (parentLocale) {\n results.push(parentLocale);\n }\n var localeParts = locale.split('-');\n for (var i = localeParts.length; i > 1; i--) {\n results.push(localeParts.slice(0, i - 1).join('-'));\n }\n return results;\n}\nfunction lookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_3 = requestedLocales; _i < requestedLocales_3.length; _i++) {\n var locale = requestedLocales_3[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = bestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\nexport function supportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = toObject(options);\n matcher = getOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return lookupSupportedLocales(availableLocales, requestedLocales);\n }\n return lookupSupportedLocales(availableLocales, requestedLocales);\n}\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\nexport function unpackData(locale, localeData, \n/** By default shallow merge the dictionaries. */\nreducer) {\n if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }\n var localeHierarchy = getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);\n var dataToMerge = localeHierarchy\n .map(function (l) { return localeData.data[l]; })\n .filter(Boolean);\n if (!dataToMerge.length) {\n throw new MissingLocaleDataError(\"Missing locale data for \\\"\" + locale + \"\\\", lookup hierarchy: \" + localeHierarchy.join(', '));\n }\n dataToMerge.reverse();\n return dataToMerge.reduce(reducer, {});\n}\n//# sourceMappingURL=resolve-locale.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { toObject, getOption, unpackData, setInternalSlot, getCanonicalLocales, supportedLocales, createResolveLocale, getInternalSlot, partitionPattern, invariant, isLiteralPart, } from '@formatjs/intl-utils';\nfunction validateInstance(instance, method) {\n if (!(instance instanceof ListFormat)) {\n throw new TypeError(\"Method Intl.ListFormat.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/proposal-intl-list-format/#sec-createstringlistfromiterable\n * @param list list\n */\nfunction stringListFromIterable(list) {\n if (list === undefined) {\n return [];\n }\n var result = [];\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var el = list_1[_i];\n if (typeof el !== 'string') {\n throw new TypeError(\"array list[\" + list.indexOf(el) + \"] is not type String\");\n }\n result.push(el);\n }\n return result;\n}\nfunction createPartsFromList(internalSlotMap, lf, list) {\n var size = list.length;\n if (size === 0) {\n return [];\n }\n if (size === 2) {\n var pattern = getInternalSlot(internalSlotMap, lf, 'templatePair');\n var first = { type: 'element', value: list[0] };\n var second = { type: 'element', value: list[1] };\n return deconstructPattern(pattern, { '0': first, '1': second });\n }\n var last = {\n type: 'element',\n value: list[size - 1],\n };\n var parts = last;\n var i = size - 2;\n while (i >= 0) {\n var pattern = void 0;\n if (i === 0) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateStart');\n }\n else if (i < size - 2) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateMiddle');\n }\n else {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateEnd');\n }\n var head = { type: 'element', value: list[i] };\n parts = deconstructPattern(pattern, { '0': head, '1': parts });\n i--;\n }\n return parts;\n}\nfunction deconstructPattern(pattern, placeables) {\n var patternParts = partitionPattern(pattern);\n var result = [];\n for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {\n var patternPart = patternParts_1[_i];\n var part = patternPart.type;\n if (isLiteralPart(patternPart)) {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else {\n invariant(part in placeables, part + \" is missing from placables\");\n var subst = placeables[part];\n if (Array.isArray(subst)) {\n result.push.apply(result, subst);\n }\n else {\n result.push(subst);\n }\n }\n }\n return result;\n}\nvar ListFormat = /** @class */ (function () {\n function ListFormat(locales, options) {\n // test262/test/intl402/ListFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof ListFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.ListFormat must be called with 'new'\");\n }\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'initializedListFormat', true);\n var requestedLocales = getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : toObject(options);\n var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n var localeData = ListFormat.localeData;\n var r = createResolveLocale(ListFormat.getDefaultLocale)(ListFormat.availableLocales, requestedLocales, opt, ListFormat.relevantExtensionKeys, localeData);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n var type = getOption(opts, 'type', 'string', ['conjunction', 'disjunction', 'unit'], 'conjunction');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type', type);\n var style = getOption(opts, 'style', 'string', ['long', 'short', 'narrow'], 'long');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style', style);\n var dataLocale = r.dataLocale;\n var dataLocaleData = localeData[dataLocale];\n var dataLocaleTypes = dataLocaleData[type];\n var templates = dataLocaleTypes[style];\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templatePair', templates.pair);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateStart', templates.start);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateMiddle', templates.middle);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateEnd', templates.end);\n }\n ListFormat.prototype.format = function (elements) {\n validateInstance(this, 'format');\n var result = '';\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return parts.value;\n }\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var p = parts_1[_i];\n result += p.value;\n }\n return result;\n };\n ListFormat.prototype.formatToParts = function (elements) {\n validateInstance(this, 'format');\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return [parts];\n }\n var result = [];\n for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) {\n var part = parts_2[_i];\n result.push(__assign({}, part));\n }\n return result;\n };\n ListFormat.prototype.resolvedOptions = function () {\n validateInstance(this, 'resolvedOptions');\n return {\n locale: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale'),\n type: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type'),\n style: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style'),\n };\n };\n ListFormat.supportedLocalesOf = function (locales, options) {\n // test262/test/intl402/ListFormat/constructor/supportedLocalesOf/result-type.js\n return supportedLocales(ListFormat.availableLocales, getCanonicalLocales(locales), options);\n };\n ListFormat.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n var _loop_1 = function (datum) {\n var availableLocales = Object.keys(__spreadArrays(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {\n all[k] = true;\n return all;\n }, {}));\n availableLocales.forEach(function (locale) {\n try {\n ListFormat.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n // If we can't unpack this data, ignore the locale\n }\n });\n };\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\n _loop_1(datum);\n }\n ListFormat.availableLocales = Object.keys(ListFormat.localeData);\n if (!ListFormat.__defaultLocale) {\n ListFormat.__defaultLocale = ListFormat.availableLocales[0];\n }\n };\n ListFormat.getDefaultLocale = function () {\n return ListFormat.__defaultLocale;\n };\n ListFormat.localeData = {};\n ListFormat.availableLocales = [];\n ListFormat.__defaultLocale = 'en';\n ListFormat.relevantExtensionKeys = [];\n ListFormat.polyfilled = true;\n ListFormat.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return ListFormat;\n}());\nexport default ListFormat;\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(ListFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.ListFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/ListFormat/constructor/length.js\n Object.defineProperty(ListFormat.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/ListFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(ListFormat.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\n//# sourceMappingURL=core.js.map"],"names":["invariant","condition","message","Err","Error","toObject","arg","TypeError","Object","getOption","opts","prop","type","values","fallback","value","undefined","Boolean","o","String","toString","filter","val","length","RangeError","join","setInternalSlot","map","pl","field","get","set","create","getInternalSlot","fields","_i","arguments","slots","reduce","all","f","getMultiInternalSlots","getCanonicalLocales","locales","Intl","DateTimeFormat","supportedLocalesOf","extendStatics","__extends","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","__assign","assign","t","s","i","n","call","apply","createResolveLocale","getDefaultLocale","lookupMatcher","availableLocales","requestedLocales","result","locale","requestedLocales_1","noExtensionLocale","replace","UNICODE_EXTENSION_SEQUENCE_REGEX","availableLocale","bestAvailableLocale","extension","slice","bestFitMatcher","requestedLocales_2","options","relevantExtensionKeys","localeData","r","foundLocale","localeMatcher","dataLocale","supportedExtension","relevantExtensionKeys_1","key","foundLocaleData","keyLocaleData","isArray","supportedExtensionAddition","requestedValue","unicodeExtensionValue","indexOf","optionsValue","privateIndex","size","searchValue","pos","start","end","k","done","e","candidate","lastIndexOf","lookupSupportedLocales","subset","requestedLocales_3","push","_super","MissingLocaleDataError","_this","unpackData","reducer","localeHierarchy","aliases","parentLocales","results","parentLocale","localeParts","split","getLocaleHierarchy","dataToMerge","l","data","reverse","__spreadArrays","il","a","j","jl","validateInstance","instance","method","ListFormat","stringListFromIterable","list","list_1","el","createPartsFromList","internalSlotMap","lf","deconstructPattern","0","1","parts","pattern","placeables","patternParts_1","beginIndex","endIndex","nextIndex","substring","partitionPattern","patternPart","part","subst","format","elements","__INTERNAL_SLOT_MAP__","parts_1","formatToParts","parts_2","resolvedOptions","style","__addLocaleData","_loop_1","datum","keys","forEach","_a","data_1","__defaultLocale","polyfilled","WeakMap","opt","matcher","templates","pair","middle","Symbol","defineProperty","toStringTag","writable","enumerable","configurable"],"mappings":"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"}
1
+ {"version":3,"file":"intl-listformat.min.js","sources":["../../../intl-utils/lib/invariant.js","../../../intl-utils/lib/polyfill-utils.js","../../../intl-utils/lib/units.js","../../../intl-utils/lib/resolve-locale.js","../../lib/core.js"],"sourcesContent":["export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n//# sourceMappingURL=invariant.js.map","import { 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;\n {\n var exactSolve = x * Math.pow(10, f);\n var roundDown = Math.floor(exactSolve);\n var roundUp = Math.ceil(exactSolve);\n n = exactSolve - roundDown < roundUp - exactSolve ? roundDown : roundUp;\n }\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 idx1 = m.indexOf('.');\n var idx2 = m.indexOf('e+');\n var exponent = parseInt(m.substring(idx2 + 2), 10);\n m =\n m.substring(0, idx1) +\n m.substring(idx1 + 1, idx2) +\n repeat('0', exponent - (idx2 - idx1 - 1));\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 e = getMagnitude(x);\n var n = void 0;\n {\n var magnitude = e - p + 1;\n var exactSolve = \n // Preserve floating point precision as much as possible with multiplication.\n magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n var roundDown = Math.floor(exactSolve);\n var roundUp = Math.ceil(exactSolve);\n n = exactSolve - roundDown < roundUp - exactSolve ? roundDown : roundUp;\n }\n // See: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n // No need to worry about scientific notation because it only happens for values >= 1e21,\n // which has 22 significant digits. So it will at least be divided by 10 here to bring the\n // value back into non-scientific-notation range.\n m = n.toString();\n xFinal = n * Math.pow(10, (e - p + 1));\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}\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","// 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","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');\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 __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 { toObject, getOption, unpackData, setInternalSlot, supportedLocales, createResolveLocale, getInternalSlot, partitionPattern, invariant, isLiteralPart, } from '@formatjs/intl-utils';\nfunction validateInstance(instance, method) {\n if (!(instance instanceof ListFormat)) {\n throw new TypeError(\"Method Intl.ListFormat.prototype.\" + method + \" called on incompatible receiver \" + String(instance));\n }\n}\n/**\n * https://tc39.es/proposal-intl-list-format/#sec-createstringlistfromiterable\n * @param list list\n */\nfunction stringListFromIterable(list) {\n if (list === undefined) {\n return [];\n }\n var result = [];\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var el = list_1[_i];\n if (typeof el !== 'string') {\n throw new TypeError(\"array list[\" + list.indexOf(el) + \"] is not type String\");\n }\n result.push(el);\n }\n return result;\n}\nfunction createPartsFromList(internalSlotMap, lf, list) {\n var size = list.length;\n if (size === 0) {\n return [];\n }\n if (size === 2) {\n var pattern = getInternalSlot(internalSlotMap, lf, 'templatePair');\n var first = { type: 'element', value: list[0] };\n var second = { type: 'element', value: list[1] };\n return deconstructPattern(pattern, { '0': first, '1': second });\n }\n var last = {\n type: 'element',\n value: list[size - 1],\n };\n var parts = last;\n var i = size - 2;\n while (i >= 0) {\n var pattern = void 0;\n if (i === 0) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateStart');\n }\n else if (i < size - 2) {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateMiddle');\n }\n else {\n pattern = getInternalSlot(internalSlotMap, lf, 'templateEnd');\n }\n var head = { type: 'element', value: list[i] };\n parts = deconstructPattern(pattern, { '0': head, '1': parts });\n i--;\n }\n return parts;\n}\nfunction deconstructPattern(pattern, placeables) {\n var patternParts = partitionPattern(pattern);\n var result = [];\n for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {\n var patternPart = patternParts_1[_i];\n var part = patternPart.type;\n if (isLiteralPart(patternPart)) {\n result.push({\n type: 'literal',\n value: patternPart.value,\n });\n }\n else {\n invariant(part in placeables, part + \" is missing from placables\");\n var subst = placeables[part];\n if (Array.isArray(subst)) {\n result.push.apply(result, subst);\n }\n else {\n result.push(subst);\n }\n }\n }\n return result;\n}\nvar ListFormat = /** @class */ (function () {\n function ListFormat(locales, options) {\n // test262/test/intl402/ListFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof ListFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.ListFormat must be called with 'new'\");\n }\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'initializedListFormat', true);\n var requestedLocales = Intl\n .getCanonicalLocales(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : toObject(options);\n var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n var localeData = ListFormat.localeData;\n var r = createResolveLocale(ListFormat.getDefaultLocale)(ListFormat.availableLocales, requestedLocales, opt, ListFormat.relevantExtensionKeys, localeData);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale', r.locale);\n var type = getOption(opts, 'type', 'string', ['conjunction', 'disjunction', 'unit'], 'conjunction');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type', type);\n var style = getOption(opts, 'style', 'string', ['long', 'short', 'narrow'], 'long');\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style', style);\n var dataLocale = r.dataLocale;\n var dataLocaleData = localeData[dataLocale];\n var dataLocaleTypes = dataLocaleData[type];\n var templates = dataLocaleTypes[style];\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templatePair', templates.pair);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateStart', templates.start);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateMiddle', templates.middle);\n setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'templateEnd', templates.end);\n }\n ListFormat.prototype.format = function (elements) {\n validateInstance(this, 'format');\n var result = '';\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return parts.value;\n }\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var p = parts_1[_i];\n result += p.value;\n }\n return result;\n };\n ListFormat.prototype.formatToParts = function (elements) {\n validateInstance(this, 'format');\n var parts = createPartsFromList(ListFormat.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements));\n if (!Array.isArray(parts)) {\n return [parts];\n }\n var result = [];\n for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) {\n var part = parts_2[_i];\n result.push(__assign({}, part));\n }\n return result;\n };\n ListFormat.prototype.resolvedOptions = function () {\n validateInstance(this, 'resolvedOptions');\n return {\n locale: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'locale'),\n type: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'type'),\n style: getInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'style'),\n };\n };\n ListFormat.supportedLocalesOf = function (locales, options) {\n // test262/test/intl402/ListFormat/constructor/supportedLocalesOf/result-type.js\n return supportedLocales(ListFormat.availableLocales, Intl.getCanonicalLocales(locales), options);\n };\n ListFormat.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n var _loop_1 = function (datum) {\n var availableLocales = datum.availableLocales;\n availableLocales.forEach(function (locale) {\n try {\n ListFormat.localeData[locale] = unpackData(locale, datum);\n }\n catch (e) {\n // If we can't unpack this data, ignore the locale\n }\n });\n };\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var datum = data_1[_a];\n _loop_1(datum);\n }\n ListFormat.availableLocales = Object.keys(ListFormat.localeData);\n if (!ListFormat.__defaultLocale) {\n ListFormat.__defaultLocale = ListFormat.availableLocales[0];\n }\n };\n ListFormat.getDefaultLocale = function () {\n return ListFormat.__defaultLocale;\n };\n ListFormat.localeData = {};\n ListFormat.availableLocales = [];\n ListFormat.__defaultLocale = 'en';\n ListFormat.relevantExtensionKeys = [];\n ListFormat.polyfilled = true;\n ListFormat.__INTERNAL_SLOT_MAP__ = new WeakMap();\n return ListFormat;\n}());\nexport default ListFormat;\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(ListFormat.prototype, Symbol.toStringTag, {\n value: 'Intl.ListFormat',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/ListFormat/constructor/length.js\n Object.defineProperty(ListFormat.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/ListFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(ListFormat.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\n//# sourceMappingURL=core.js.map"],"names":["invariant","condition","message","Err","Error","toObject","arg","TypeError","Object","getOption","opts","prop","type","values","fallback","value","undefined","Boolean","o","String","toString","filter","val","length","RangeError","join","setInternalSlot","map","pl","field","get","set","create","getInternalSlot","fields","_i","arguments","slots","reduce","all","f","getMultiInternalSlots","unit","replace","extendStatics","__extends","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","this","constructor","prototype","__assign","assign","t","s","i","n","call","apply","createResolveLocale","getDefaultLocale","lookupMatcher","availableLocales","requestedLocales","result","locale","requestedLocales_1","noExtensionLocale","UNICODE_EXTENSION_SEQUENCE_REGEX","availableLocale","bestAvailableLocale","extension","slice","bestFitMatcher","requestedLocales_2","options","relevantExtensionKeys","localeData","privateIndex","r","localeMatcher","foundLocale","dataLocale","supportedExtension","relevantExtensionKeys_1","key","foundLocaleData","keyLocaleData","isArray","requestedValue","optionsValue","supportedExtensionAddition","unicodeExtensionValue","indexOf","Intl","getCanonicalLocales","size","searchValue","pos","start","end","k","done","e","candidate","lastIndexOf","lookupSupportedLocales","subset","requestedLocales_3","push","_super","MissingLocaleDataError","_this","unpackData","reducer","localeHierarchy","results","localeParts","split","getLocaleHierarchy","dataToMerge","l","data","reverse","validateInstance","instance","method","ListFormat","stringListFromIterable","list","list_1","el","createPartsFromList","internalSlotMap","lf","deconstructPattern","0","1","parts","pattern","placeables","patternParts_1","beginIndex","endIndex","nextIndex","substring","partitionPattern","subst","patternPart","part","format","elements","__INTERNAL_SLOT_MAP__","parts_1","formatToParts","parts_2","resolvedOptions","style","supportedLocalesOf","locales","__addLocaleData","_loop_1","datum","forEach","_a","data_1","keys","__defaultLocale","polyfilled","WeakMap","opt","matcher","templates","pair","middle","Symbol","defineProperty","toStringTag","writable","enumerable","configurable"],"mappings":"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"}
@@ -10,6 +10,53 @@
10
10
  }
11
11
  }
12
12
 
13
+ // https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier
14
+ var SANCTIONED_UNITS = [
15
+ 'angle-degree',
16
+ 'area-acre',
17
+ 'area-hectare',
18
+ 'concentr-percent',
19
+ 'digital-bit',
20
+ 'digital-byte',
21
+ 'digital-gigabit',
22
+ 'digital-gigabyte',
23
+ 'digital-kilobit',
24
+ 'digital-kilobyte',
25
+ 'digital-megabit',
26
+ 'digital-megabyte',
27
+ 'digital-petabyte',
28
+ 'digital-terabit',
29
+ 'digital-terabyte',
30
+ 'duration-day',
31
+ 'duration-hour',
32
+ 'duration-millisecond',
33
+ 'duration-minute',
34
+ 'duration-month',
35
+ 'duration-second',
36
+ 'duration-week',
37
+ 'duration-year',
38
+ 'length-centimeter',
39
+ 'length-foot',
40
+ 'length-inch',
41
+ 'length-kilometer',
42
+ 'length-meter',
43
+ 'length-mile-scandinavian',
44
+ 'length-mile',
45
+ 'length-millimeter',
46
+ 'length-yard',
47
+ 'mass-gram',
48
+ 'mass-kilogram',
49
+ 'mass-ounce',
50
+ 'mass-pound',
51
+ 'mass-stone',
52
+ 'temperature-celsius',
53
+ 'temperature-fahrenheit',
54
+ 'volume-fluid-ounce',
55
+ 'volume-gallon',
56
+ 'volume-liter',
57
+ 'volume-milliliter',
58
+ ];
59
+
13
60
  /**
14
61
  * https://tc39.es/ecma262/#sec-toobject
15
62
  * @param arg
@@ -115,22 +162,9 @@
115
162
  }
116
163
  return result;
117
164
  }
118
-
119
- /**
120
- * IE11-safe version of getCanonicalLocales since it's ES2016
121
- * @param locales locales
122
- */
123
- function getCanonicalLocales(locales) {
124
- // IE11
125
- var getCanonicalLocales = Intl.getCanonicalLocales;
126
- if (typeof getCanonicalLocales === 'function') {
127
- return getCanonicalLocales(locales);
128
- }
129
- // NOTE: we must NOT call `supportedLocalesOf` of a formatjs polyfill, or their implementation
130
- // will even eventually call this method recursively. Here we use `Intl.DateTimeFormat` since it
131
- // is not polyfilled by `@formatjs`.
132
- return Intl.DateTimeFormat.supportedLocalesOf(locales || '');
133
- }
165
+ var SHORTENED_SACTION_UNITS = SANCTIONED_UNITS.map(function (unit) {
166
+ return unit.replace(/^(.*?)-/, '');
167
+ });
134
168
 
135
169
  var __extends = (undefined && undefined.__extends) || (function () {
136
170
  var extendStatics = function (d, b) {
@@ -223,7 +257,7 @@
223
257
  var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
224
258
  foundLocale = preExtension + supportedExtension + postExtension;
225
259
  }
226
- foundLocale = getCanonicalLocales(foundLocale)[0];
260
+ foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
227
261
  }
228
262
  result.locale = foundLocale;
229
263
  return result;
@@ -337,16 +371,8 @@
337
371
  return result;
338
372
  };
339
373
  }
340
- function getLocaleHierarchy(locale, aliases, parentLocales) {
374
+ function getLocaleHierarchy(locale) {
341
375
  var results = [locale];
342
- if (aliases[locale]) {
343
- locale = aliases[locale];
344
- results.push(locale);
345
- }
346
- var parentLocale = parentLocales[locale];
347
- if (parentLocale) {
348
- results.push(parentLocale);
349
- }
350
376
  var localeParts = locale.split('-');
351
377
  for (var i = localeParts.length; i > 1; i--) {
352
378
  results.push(localeParts.slice(0, i - 1).join('-'));
@@ -389,7 +415,7 @@
389
415
  /** By default shallow merge the dictionaries. */
390
416
  reducer) {
391
417
  if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }
392
- var localeHierarchy = getLocaleHierarchy(locale, localeData.aliases, localeData.parentLocales);
418
+ var localeHierarchy = getLocaleHierarchy(locale);
393
419
  var dataToMerge = localeHierarchy
394
420
  .map(function (l) { return localeData.data[l]; })
395
421
  .filter(Boolean);
@@ -411,13 +437,6 @@
411
437
  };
412
438
  return __assign$1.apply(this, arguments);
413
439
  };
414
- var __spreadArrays = (undefined && undefined.__spreadArrays) || function () {
415
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
416
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
417
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
418
- r[k] = a[j];
419
- return r;
420
- };
421
440
  function validateInstance(instance, method) {
422
441
  if (!(instance instanceof ListFormat)) {
423
442
  throw new TypeError("Method Intl.ListFormat.prototype." + method + " called on incompatible receiver " + String(instance));
@@ -509,7 +528,8 @@
509
528
  throw new TypeError("Intl.ListFormat must be called with 'new'");
510
529
  }
511
530
  setInternalSlot(ListFormat.__INTERNAL_SLOT_MAP__, this, 'initializedListFormat', true);
512
- var requestedLocales = getCanonicalLocales(locales);
531
+ var requestedLocales = Intl
532
+ .getCanonicalLocales(locales);
513
533
  var opt = Object.create(null);
514
534
  var opts = options === undefined ? Object.create(null) : toObject(options);
515
535
  var matcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
@@ -566,7 +586,7 @@
566
586
  };
567
587
  ListFormat.supportedLocalesOf = function (locales, options) {
568
588
  // test262/test/intl402/ListFormat/constructor/supportedLocalesOf/result-type.js
569
- return supportedLocales(ListFormat.availableLocales, getCanonicalLocales(locales), options);
589
+ return supportedLocales(ListFormat.availableLocales, Intl.getCanonicalLocales(locales), options);
570
590
  };
571
591
  ListFormat.__addLocaleData = function () {
572
592
  var data = [];
@@ -574,10 +594,7 @@
574
594
  data[_i] = arguments[_i];
575
595
  }
576
596
  var _loop_1 = function (datum) {
577
- var availableLocales = Object.keys(__spreadArrays(datum.availableLocales, Object.keys(datum.aliases), Object.keys(datum.parentLocales)).reduce(function (all, k) {
578
- all[k] = true;
579
- return all;
580
- }, {}));
597
+ var availableLocales = datum.availableLocales;
581
598
  availableLocales.forEach(function (locale) {
582
599
  try {
583
600
  ListFormat.localeData[locale] = unpackData(locale, datum);