@formatjs/intl-relativetimeformat 7.3.3 → 8.0.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 (552) hide show
  1. package/index.d.ts.map +1 -1
  2. package/index.js +12 -24
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +13 -25
  5. package/locale-data/af-NA.js +1 -1
  6. package/locale-data/af.js +1 -1
  7. package/locale-data/agq.js +1 -1
  8. package/locale-data/ak.js +1 -1
  9. package/locale-data/am.js +1 -1
  10. package/locale-data/ar-AE.js +1 -1
  11. package/locale-data/ar-BH.js +1 -1
  12. package/locale-data/ar-DJ.js +1 -1
  13. package/locale-data/ar-DZ.js +1 -1
  14. package/locale-data/ar-EG.js +1 -1
  15. package/locale-data/ar-EH.js +1 -1
  16. package/locale-data/ar-ER.js +1 -1
  17. package/locale-data/ar-IL.js +1 -1
  18. package/locale-data/ar-IQ.js +1 -1
  19. package/locale-data/ar-JO.js +1 -1
  20. package/locale-data/ar-KM.js +1 -1
  21. package/locale-data/ar-KW.js +1 -1
  22. package/locale-data/ar-LB.js +1 -1
  23. package/locale-data/ar-LY.js +1 -1
  24. package/locale-data/ar-MA.js +1 -1
  25. package/locale-data/ar-MR.js +1 -1
  26. package/locale-data/ar-OM.js +1 -1
  27. package/locale-data/ar-PS.js +1 -1
  28. package/locale-data/ar-QA.js +1 -1
  29. package/locale-data/ar-SA.js +1 -1
  30. package/locale-data/ar-SD.js +1 -1
  31. package/locale-data/ar-SO.js +1 -1
  32. package/locale-data/ar-SS.js +1 -1
  33. package/locale-data/ar-SY.js +1 -1
  34. package/locale-data/ar-TD.js +1 -1
  35. package/locale-data/ar-TN.js +1 -1
  36. package/locale-data/ar-YE.js +1 -1
  37. package/locale-data/ar.js +1 -1
  38. package/locale-data/as.js +1 -1
  39. package/locale-data/asa.js +1 -1
  40. package/locale-data/ast.js +1 -1
  41. package/locale-data/az-Cyrl.js +1 -1
  42. package/locale-data/az-Latn.js +1 -1
  43. package/locale-data/az.js +1 -1
  44. package/locale-data/bas.js +1 -1
  45. package/locale-data/be.js +1 -1
  46. package/locale-data/bem.js +1 -1
  47. package/locale-data/bez.js +1 -1
  48. package/locale-data/bg.js +1 -1
  49. package/locale-data/bm.js +1 -1
  50. package/locale-data/bn-IN.js +1 -1
  51. package/locale-data/bn.js +1 -1
  52. package/locale-data/bo-IN.js +1 -1
  53. package/locale-data/bo.js +1 -1
  54. package/locale-data/br.js +1 -1
  55. package/locale-data/brx.js +1 -1
  56. package/locale-data/bs-Cyrl.js +1 -1
  57. package/locale-data/bs-Latn.js +1 -1
  58. package/locale-data/bs.js +1 -1
  59. package/locale-data/ca-AD.js +1 -1
  60. package/locale-data/ca-ES-VALENCIA.js +1 -1
  61. package/locale-data/ca-FR.js +1 -1
  62. package/locale-data/ca-IT.js +1 -1
  63. package/locale-data/ca.js +1 -1
  64. package/locale-data/ccp-IN.js +1 -1
  65. package/locale-data/ccp.js +1 -1
  66. package/locale-data/ce.js +1 -1
  67. package/locale-data/ceb.js +1 -1
  68. package/locale-data/cgg.js +1 -1
  69. package/locale-data/chr.js +1 -1
  70. package/locale-data/ckb-IR.js +1 -1
  71. package/locale-data/ckb.js +1 -1
  72. package/locale-data/cs.js +1 -1
  73. package/locale-data/cu.js +1 -1
  74. package/locale-data/cy.js +1 -1
  75. package/locale-data/da-GL.js +1 -1
  76. package/locale-data/da.js +1 -1
  77. package/locale-data/dav.js +1 -1
  78. package/locale-data/de-AT.js +1 -1
  79. package/locale-data/de-BE.js +1 -1
  80. package/locale-data/de-CH.js +1 -1
  81. package/locale-data/de-IT.js +1 -1
  82. package/locale-data/de-LI.js +1 -1
  83. package/locale-data/de-LU.js +1 -1
  84. package/locale-data/de.js +1 -1
  85. package/locale-data/dje.js +1 -1
  86. package/locale-data/dsb.js +1 -1
  87. package/locale-data/dua.js +1 -1
  88. package/locale-data/dyo.js +1 -1
  89. package/locale-data/dz.js +1 -1
  90. package/locale-data/ebu.js +1 -1
  91. package/locale-data/ee-TG.js +1 -1
  92. package/locale-data/ee.js +1 -1
  93. package/locale-data/el-CY.js +1 -1
  94. package/locale-data/el.js +1 -1
  95. package/locale-data/en-001.js +1 -1
  96. package/locale-data/en-150.js +1 -1
  97. package/locale-data/en-AE.js +1 -1
  98. package/locale-data/en-AG.js +1 -1
  99. package/locale-data/en-AI.js +1 -1
  100. package/locale-data/en-AS.js +1 -1
  101. package/locale-data/en-AT.js +1 -1
  102. package/locale-data/en-AU.js +1 -1
  103. package/locale-data/en-BB.js +1 -1
  104. package/locale-data/en-BE.js +1 -1
  105. package/locale-data/en-BI.js +1 -1
  106. package/locale-data/en-BM.js +1 -1
  107. package/locale-data/en-BS.js +1 -1
  108. package/locale-data/en-BW.js +1 -1
  109. package/locale-data/en-BZ.js +1 -1
  110. package/locale-data/en-CA.js +1 -1
  111. package/locale-data/en-CC.js +1 -1
  112. package/locale-data/en-CH.js +1 -1
  113. package/locale-data/en-CK.js +1 -1
  114. package/locale-data/en-CM.js +1 -1
  115. package/locale-data/en-CX.js +1 -1
  116. package/locale-data/en-CY.js +1 -1
  117. package/locale-data/en-DE.js +1 -1
  118. package/locale-data/en-DG.js +1 -1
  119. package/locale-data/en-DK.js +1 -1
  120. package/locale-data/en-DM.js +1 -1
  121. package/locale-data/en-ER.js +1 -1
  122. package/locale-data/en-FI.js +1 -1
  123. package/locale-data/en-FJ.js +1 -1
  124. package/locale-data/en-FK.js +1 -1
  125. package/locale-data/en-FM.js +1 -1
  126. package/locale-data/en-GB.js +1 -1
  127. package/locale-data/en-GD.js +1 -1
  128. package/locale-data/en-GG.js +1 -1
  129. package/locale-data/en-GH.js +1 -1
  130. package/locale-data/en-GI.js +1 -1
  131. package/locale-data/en-GM.js +1 -1
  132. package/locale-data/en-GU.js +1 -1
  133. package/locale-data/en-GY.js +1 -1
  134. package/locale-data/en-HK.js +1 -1
  135. package/locale-data/en-IE.js +1 -1
  136. package/locale-data/en-IL.js +1 -1
  137. package/locale-data/en-IM.js +1 -1
  138. package/locale-data/en-IN.js +1 -1
  139. package/locale-data/en-IO.js +1 -1
  140. package/locale-data/en-JE.js +1 -1
  141. package/locale-data/en-JM.js +1 -1
  142. package/locale-data/en-KE.js +1 -1
  143. package/locale-data/en-KI.js +1 -1
  144. package/locale-data/en-KN.js +1 -1
  145. package/locale-data/en-KY.js +1 -1
  146. package/locale-data/en-LC.js +1 -1
  147. package/locale-data/en-LR.js +1 -1
  148. package/locale-data/en-LS.js +1 -1
  149. package/locale-data/en-MG.js +1 -1
  150. package/locale-data/en-MH.js +1 -1
  151. package/locale-data/en-MO.js +1 -1
  152. package/locale-data/en-MP.js +1 -1
  153. package/locale-data/en-MS.js +1 -1
  154. package/locale-data/en-MT.js +1 -1
  155. package/locale-data/en-MU.js +1 -1
  156. package/locale-data/en-MW.js +1 -1
  157. package/locale-data/en-MY.js +1 -1
  158. package/locale-data/en-NA.js +1 -1
  159. package/locale-data/en-NF.js +1 -1
  160. package/locale-data/en-NG.js +1 -1
  161. package/locale-data/en-NL.js +1 -1
  162. package/locale-data/en-NR.js +1 -1
  163. package/locale-data/en-NU.js +1 -1
  164. package/locale-data/en-NZ.js +1 -1
  165. package/locale-data/en-PG.js +1 -1
  166. package/locale-data/en-PH.js +1 -1
  167. package/locale-data/en-PK.js +1 -1
  168. package/locale-data/en-PN.js +1 -1
  169. package/locale-data/en-PR.js +1 -1
  170. package/locale-data/en-PW.js +1 -1
  171. package/locale-data/en-RW.js +1 -1
  172. package/locale-data/en-SB.js +1 -1
  173. package/locale-data/en-SC.js +1 -1
  174. package/locale-data/en-SD.js +1 -1
  175. package/locale-data/en-SE.js +1 -1
  176. package/locale-data/en-SG.js +1 -1
  177. package/locale-data/en-SH.js +1 -1
  178. package/locale-data/en-SI.js +1 -1
  179. package/locale-data/en-SL.js +1 -1
  180. package/locale-data/en-SS.js +1 -1
  181. package/locale-data/en-SX.js +1 -1
  182. package/locale-data/en-SZ.js +1 -1
  183. package/locale-data/en-TC.js +1 -1
  184. package/locale-data/en-TK.js +1 -1
  185. package/locale-data/en-TO.js +1 -1
  186. package/locale-data/en-TT.js +1 -1
  187. package/locale-data/en-TV.js +1 -1
  188. package/locale-data/en-TZ.js +1 -1
  189. package/locale-data/en-UG.js +1 -1
  190. package/locale-data/en-UM.js +1 -1
  191. package/locale-data/en-US.js +1 -1
  192. package/locale-data/en-VC.js +1 -1
  193. package/locale-data/en-VG.js +1 -1
  194. package/locale-data/en-VI.js +1 -1
  195. package/locale-data/en-VU.js +1 -1
  196. package/locale-data/en-WS.js +1 -1
  197. package/locale-data/en-ZA.js +1 -1
  198. package/locale-data/en-ZM.js +1 -1
  199. package/locale-data/en-ZW.js +1 -1
  200. package/locale-data/en.js +1 -1
  201. package/locale-data/eo.js +1 -1
  202. package/locale-data/es-419.js +1 -1
  203. package/locale-data/es-AR.js +1 -1
  204. package/locale-data/es-BO.js +1 -1
  205. package/locale-data/es-BR.js +1 -1
  206. package/locale-data/es-BZ.js +1 -1
  207. package/locale-data/es-CL.js +1 -1
  208. package/locale-data/es-CO.js +1 -1
  209. package/locale-data/es-CR.js +1 -1
  210. package/locale-data/es-CU.js +1 -1
  211. package/locale-data/es-DO.js +1 -1
  212. package/locale-data/es-EA.js +1 -1
  213. package/locale-data/es-EC.js +1 -1
  214. package/locale-data/es-GQ.js +1 -1
  215. package/locale-data/es-GT.js +1 -1
  216. package/locale-data/es-HN.js +1 -1
  217. package/locale-data/es-IC.js +1 -1
  218. package/locale-data/es-MX.js +1 -1
  219. package/locale-data/es-NI.js +1 -1
  220. package/locale-data/es-PA.js +1 -1
  221. package/locale-data/es-PE.js +1 -1
  222. package/locale-data/es-PH.js +1 -1
  223. package/locale-data/es-PR.js +1 -1
  224. package/locale-data/es-PY.js +1 -1
  225. package/locale-data/es-SV.js +1 -1
  226. package/locale-data/es-US.js +1 -1
  227. package/locale-data/es-UY.js +1 -1
  228. package/locale-data/es-VE.js +1 -1
  229. package/locale-data/es.js +1 -1
  230. package/locale-data/et.js +1 -1
  231. package/locale-data/eu.js +1 -1
  232. package/locale-data/ewo.js +1 -1
  233. package/locale-data/fa-AF.js +1 -1
  234. package/locale-data/fa.js +1 -1
  235. package/locale-data/ff-Latn-BF.js +1 -1
  236. package/locale-data/ff-Latn-CM.js +1 -1
  237. package/locale-data/ff-Latn-GH.js +1 -1
  238. package/locale-data/ff-Latn-GM.js +1 -1
  239. package/locale-data/ff-Latn-GN.js +1 -1
  240. package/locale-data/ff-Latn-GW.js +1 -1
  241. package/locale-data/ff-Latn-LR.js +1 -1
  242. package/locale-data/ff-Latn-MR.js +1 -1
  243. package/locale-data/ff-Latn-NE.js +1 -1
  244. package/locale-data/ff-Latn-NG.js +1 -1
  245. package/locale-data/ff-Latn-SL.js +1 -1
  246. package/locale-data/ff-Latn.js +1 -1
  247. package/locale-data/ff.js +1 -1
  248. package/locale-data/fi.js +1 -1
  249. package/locale-data/fil.js +1 -1
  250. package/locale-data/fo-DK.js +1 -1
  251. package/locale-data/fo.js +1 -1
  252. package/locale-data/fr-BE.js +1 -1
  253. package/locale-data/fr-BF.js +1 -1
  254. package/locale-data/fr-BI.js +1 -1
  255. package/locale-data/fr-BJ.js +1 -1
  256. package/locale-data/fr-BL.js +1 -1
  257. package/locale-data/fr-CA.js +1 -1
  258. package/locale-data/fr-CD.js +1 -1
  259. package/locale-data/fr-CF.js +1 -1
  260. package/locale-data/fr-CG.js +1 -1
  261. package/locale-data/fr-CH.js +1 -1
  262. package/locale-data/fr-CI.js +1 -1
  263. package/locale-data/fr-CM.js +1 -1
  264. package/locale-data/fr-DJ.js +1 -1
  265. package/locale-data/fr-DZ.js +1 -1
  266. package/locale-data/fr-GA.js +1 -1
  267. package/locale-data/fr-GF.js +1 -1
  268. package/locale-data/fr-GN.js +1 -1
  269. package/locale-data/fr-GP.js +1 -1
  270. package/locale-data/fr-GQ.js +1 -1
  271. package/locale-data/fr-HT.js +1 -1
  272. package/locale-data/fr-KM.js +1 -1
  273. package/locale-data/fr-LU.js +1 -1
  274. package/locale-data/fr-MA.js +1 -1
  275. package/locale-data/fr-MC.js +1 -1
  276. package/locale-data/fr-MF.js +1 -1
  277. package/locale-data/fr-MG.js +1 -1
  278. package/locale-data/fr-ML.js +1 -1
  279. package/locale-data/fr-MQ.js +1 -1
  280. package/locale-data/fr-MR.js +1 -1
  281. package/locale-data/fr-MU.js +1 -1
  282. package/locale-data/fr-NC.js +1 -1
  283. package/locale-data/fr-NE.js +1 -1
  284. package/locale-data/fr-PF.js +1 -1
  285. package/locale-data/fr-PM.js +1 -1
  286. package/locale-data/fr-RE.js +1 -1
  287. package/locale-data/fr-RW.js +1 -1
  288. package/locale-data/fr-SC.js +1 -1
  289. package/locale-data/fr-SN.js +1 -1
  290. package/locale-data/fr-SY.js +1 -1
  291. package/locale-data/fr-TD.js +1 -1
  292. package/locale-data/fr-TG.js +1 -1
  293. package/locale-data/fr-TN.js +1 -1
  294. package/locale-data/fr-VU.js +1 -1
  295. package/locale-data/fr-WF.js +1 -1
  296. package/locale-data/fr-YT.js +1 -1
  297. package/locale-data/fr.js +1 -1
  298. package/locale-data/fur.js +1 -1
  299. package/locale-data/fy.js +1 -1
  300. package/locale-data/ga-GB.js +1 -1
  301. package/locale-data/ga.js +1 -1
  302. package/locale-data/gd.js +1 -1
  303. package/locale-data/gl.js +1 -1
  304. package/locale-data/gsw-FR.js +1 -1
  305. package/locale-data/gsw-LI.js +1 -1
  306. package/locale-data/gsw.js +1 -1
  307. package/locale-data/gu.js +1 -1
  308. package/locale-data/guz.js +1 -1
  309. package/locale-data/gv.js +1 -1
  310. package/locale-data/ha-GH.js +1 -1
  311. package/locale-data/ha-NE.js +1 -1
  312. package/locale-data/ha.js +1 -1
  313. package/locale-data/haw.js +1 -1
  314. package/locale-data/he.js +1 -1
  315. package/locale-data/hi.js +1 -1
  316. package/locale-data/hr-BA.js +1 -1
  317. package/locale-data/hr.js +1 -1
  318. package/locale-data/hsb.js +1 -1
  319. package/locale-data/hu.js +1 -1
  320. package/locale-data/hy.js +1 -1
  321. package/locale-data/ia.js +1 -1
  322. package/locale-data/id.js +1 -1
  323. package/locale-data/ig.js +1 -1
  324. package/locale-data/ii.js +1 -1
  325. package/locale-data/is.js +1 -1
  326. package/locale-data/it-CH.js +1 -1
  327. package/locale-data/it-SM.js +1 -1
  328. package/locale-data/it-VA.js +1 -1
  329. package/locale-data/it.js +1 -1
  330. package/locale-data/ja.js +1 -1
  331. package/locale-data/jgo.js +1 -1
  332. package/locale-data/jmc.js +1 -1
  333. package/locale-data/jv.js +1 -1
  334. package/locale-data/ka.js +1 -1
  335. package/locale-data/kab.js +1 -1
  336. package/locale-data/kam.js +1 -1
  337. package/locale-data/kde.js +1 -1
  338. package/locale-data/kea.js +1 -1
  339. package/locale-data/khq.js +1 -1
  340. package/locale-data/ki.js +1 -1
  341. package/locale-data/kk.js +1 -1
  342. package/locale-data/kkj.js +1 -1
  343. package/locale-data/kl.js +1 -1
  344. package/locale-data/kln.js +1 -1
  345. package/locale-data/km.js +1 -1
  346. package/locale-data/kn.js +1 -1
  347. package/locale-data/ko-KP.js +1 -1
  348. package/locale-data/ko.js +1 -1
  349. package/locale-data/kok.js +1 -1
  350. package/locale-data/ks.js +1 -1
  351. package/locale-data/ksb.js +1 -1
  352. package/locale-data/ksf.js +1 -1
  353. package/locale-data/ksh.js +1 -1
  354. package/locale-data/ku.js +1 -1
  355. package/locale-data/kw.js +1 -1
  356. package/locale-data/ky.js +1 -1
  357. package/locale-data/lag.js +1 -1
  358. package/locale-data/lb.js +1 -1
  359. package/locale-data/lg.js +1 -1
  360. package/locale-data/lkt.js +1 -1
  361. package/locale-data/ln-AO.js +1 -1
  362. package/locale-data/ln-CF.js +1 -1
  363. package/locale-data/ln-CG.js +1 -1
  364. package/locale-data/ln.js +1 -1
  365. package/locale-data/lo.js +1 -1
  366. package/locale-data/lrc-IQ.js +1 -1
  367. package/locale-data/lrc.js +1 -1
  368. package/locale-data/lt.js +1 -1
  369. package/locale-data/lu.js +1 -1
  370. package/locale-data/luo.js +1 -1
  371. package/locale-data/luy.js +1 -1
  372. package/locale-data/lv.js +1 -1
  373. package/locale-data/mas-TZ.js +1 -1
  374. package/locale-data/mas.js +1 -1
  375. package/locale-data/mer.js +1 -1
  376. package/locale-data/mfe.js +1 -1
  377. package/locale-data/mg.js +1 -1
  378. package/locale-data/mgh.js +1 -1
  379. package/locale-data/mgo.js +1 -1
  380. package/locale-data/mi.js +1 -1
  381. package/locale-data/mk.js +1 -1
  382. package/locale-data/ml.js +1 -1
  383. package/locale-data/mn.js +1 -1
  384. package/locale-data/mr.js +1 -1
  385. package/locale-data/ms-BN.js +1 -1
  386. package/locale-data/ms-SG.js +1 -1
  387. package/locale-data/ms.js +1 -1
  388. package/locale-data/mt.js +1 -1
  389. package/locale-data/mua.js +1 -1
  390. package/locale-data/my.js +1 -1
  391. package/locale-data/mzn.js +1 -1
  392. package/locale-data/naq.js +1 -1
  393. package/locale-data/nb-SJ.js +1 -1
  394. package/locale-data/nb.js +1 -1
  395. package/locale-data/nd.js +1 -1
  396. package/locale-data/nds-NL.js +1 -1
  397. package/locale-data/nds.js +1 -1
  398. package/locale-data/ne-IN.js +1 -1
  399. package/locale-data/ne.js +1 -1
  400. package/locale-data/nl-AW.js +1 -1
  401. package/locale-data/nl-BE.js +1 -1
  402. package/locale-data/nl-BQ.js +1 -1
  403. package/locale-data/nl-CW.js +1 -1
  404. package/locale-data/nl-SR.js +1 -1
  405. package/locale-data/nl-SX.js +1 -1
  406. package/locale-data/nl.js +1 -1
  407. package/locale-data/nmg.js +1 -1
  408. package/locale-data/nn.js +1 -1
  409. package/locale-data/nnh.js +1 -1
  410. package/locale-data/nus.js +1 -1
  411. package/locale-data/nyn.js +1 -1
  412. package/locale-data/om-KE.js +1 -1
  413. package/locale-data/om.js +1 -1
  414. package/locale-data/or.js +1 -1
  415. package/locale-data/os-RU.js +1 -1
  416. package/locale-data/os.js +1 -1
  417. package/locale-data/pa-Arab.js +1 -1
  418. package/locale-data/pa-Guru.js +1 -1
  419. package/locale-data/pa.js +1 -1
  420. package/locale-data/pl.js +1 -1
  421. package/locale-data/prg.js +1 -1
  422. package/locale-data/ps-PK.js +1 -1
  423. package/locale-data/ps.js +1 -1
  424. package/locale-data/pt-AO.js +1 -1
  425. package/locale-data/pt-CH.js +1 -1
  426. package/locale-data/pt-CV.js +1 -1
  427. package/locale-data/pt-GQ.js +1 -1
  428. package/locale-data/pt-GW.js +1 -1
  429. package/locale-data/pt-LU.js +1 -1
  430. package/locale-data/pt-MO.js +1 -1
  431. package/locale-data/pt-MZ.js +1 -1
  432. package/locale-data/pt-PT.js +1 -1
  433. package/locale-data/pt-ST.js +1 -1
  434. package/locale-data/pt-TL.js +1 -1
  435. package/locale-data/pt.js +1 -1
  436. package/locale-data/qu-BO.js +1 -1
  437. package/locale-data/qu-EC.js +1 -1
  438. package/locale-data/qu.js +1 -1
  439. package/locale-data/rm.js +1 -1
  440. package/locale-data/rn.js +1 -1
  441. package/locale-data/ro-MD.js +1 -1
  442. package/locale-data/ro.js +1 -1
  443. package/locale-data/rof.js +1 -1
  444. package/locale-data/ru-BY.js +1 -1
  445. package/locale-data/ru-KG.js +1 -1
  446. package/locale-data/ru-KZ.js +1 -1
  447. package/locale-data/ru-MD.js +1 -1
  448. package/locale-data/ru-UA.js +1 -1
  449. package/locale-data/ru.js +1 -1
  450. package/locale-data/rw.js +1 -1
  451. package/locale-data/rwk.js +1 -1
  452. package/locale-data/sah.js +1 -1
  453. package/locale-data/saq.js +1 -1
  454. package/locale-data/sbp.js +1 -1
  455. package/locale-data/sd.js +1 -1
  456. package/locale-data/se-FI.js +1 -1
  457. package/locale-data/se-SE.js +1 -1
  458. package/locale-data/se.js +1 -1
  459. package/locale-data/seh.js +1 -1
  460. package/locale-data/ses.js +1 -1
  461. package/locale-data/sg.js +1 -1
  462. package/locale-data/shi-Latn.js +1 -1
  463. package/locale-data/shi-Tfng.js +1 -1
  464. package/locale-data/shi.js +1 -1
  465. package/locale-data/si.js +1 -1
  466. package/locale-data/sk.js +1 -1
  467. package/locale-data/sl.js +1 -1
  468. package/locale-data/smn.js +1 -1
  469. package/locale-data/sn.js +1 -1
  470. package/locale-data/so-DJ.js +1 -1
  471. package/locale-data/so-ET.js +1 -1
  472. package/locale-data/so-KE.js +1 -1
  473. package/locale-data/so.js +1 -1
  474. package/locale-data/sq-MK.js +1 -1
  475. package/locale-data/sq-XK.js +1 -1
  476. package/locale-data/sq.js +1 -1
  477. package/locale-data/sr-Cyrl-BA.js +1 -1
  478. package/locale-data/sr-Cyrl-ME.js +1 -1
  479. package/locale-data/sr-Cyrl-XK.js +1 -1
  480. package/locale-data/sr-Cyrl.js +1 -1
  481. package/locale-data/sr-Latn-BA.js +1 -1
  482. package/locale-data/sr-Latn-ME.js +1 -1
  483. package/locale-data/sr-Latn-XK.js +1 -1
  484. package/locale-data/sr-Latn.js +1 -1
  485. package/locale-data/sr.js +1 -1
  486. package/locale-data/sv-AX.js +1 -1
  487. package/locale-data/sv-FI.js +1 -1
  488. package/locale-data/sv.js +1 -1
  489. package/locale-data/sw-CD.js +1 -1
  490. package/locale-data/sw-KE.js +1 -1
  491. package/locale-data/sw-UG.js +1 -1
  492. package/locale-data/sw.js +1 -1
  493. package/locale-data/ta-LK.js +1 -1
  494. package/locale-data/ta-MY.js +1 -1
  495. package/locale-data/ta-SG.js +1 -1
  496. package/locale-data/ta.js +1 -1
  497. package/locale-data/te.js +1 -1
  498. package/locale-data/teo-KE.js +1 -1
  499. package/locale-data/teo.js +1 -1
  500. package/locale-data/tg.js +1 -1
  501. package/locale-data/th.js +1 -1
  502. package/locale-data/ti-ER.js +1 -1
  503. package/locale-data/ti.js +1 -1
  504. package/locale-data/tk.js +1 -1
  505. package/locale-data/to.js +1 -1
  506. package/locale-data/tr-CY.js +1 -1
  507. package/locale-data/tr.js +1 -1
  508. package/locale-data/tt.js +1 -1
  509. package/locale-data/twq.js +1 -1
  510. package/locale-data/tzm.js +1 -1
  511. package/locale-data/ug.js +1 -1
  512. package/locale-data/uk.js +1 -1
  513. package/locale-data/ur-IN.js +1 -1
  514. package/locale-data/ur.js +1 -1
  515. package/locale-data/uz-Arab.js +1 -1
  516. package/locale-data/uz-Cyrl.js +1 -1
  517. package/locale-data/uz-Latn.js +1 -1
  518. package/locale-data/uz.js +1 -1
  519. package/locale-data/vai-Latn.js +1 -1
  520. package/locale-data/vai-Vaii.js +1 -1
  521. package/locale-data/vai.js +1 -1
  522. package/locale-data/vi.js +1 -1
  523. package/locale-data/vo.js +1 -1
  524. package/locale-data/vun.js +1 -1
  525. package/locale-data/wae.js +1 -1
  526. package/locale-data/wo.js +1 -1
  527. package/locale-data/xh.js +1 -1
  528. package/locale-data/xog.js +1 -1
  529. package/locale-data/yav.js +1 -1
  530. package/locale-data/yi.js +1 -1
  531. package/locale-data/yo-BJ.js +1 -1
  532. package/locale-data/yo.js +1 -1
  533. package/locale-data/yue-Hans.js +1 -1
  534. package/locale-data/yue-Hant.js +1 -1
  535. package/locale-data/yue.js +1 -1
  536. package/locale-data/zgh.js +1 -1
  537. package/locale-data/zh-Hans-HK.js +1 -1
  538. package/locale-data/zh-Hans-MO.js +1 -1
  539. package/locale-data/zh-Hans-SG.js +1 -1
  540. package/locale-data/zh-Hans.js +1 -1
  541. package/locale-data/zh-Hant-HK.js +1 -1
  542. package/locale-data/zh-Hant-MO.js +1 -1
  543. package/locale-data/zh-Hant.js +1 -1
  544. package/locale-data/zh.js +1 -1
  545. package/locale-data/zu.js +1 -1
  546. package/package.json +2 -2
  547. package/polyfill-locales.js +541 -543
  548. package/polyfill.umd.js +666 -730
  549. package/polyfill.umd.min.js +1 -15
  550. package/_validate_dist-base_options.optionsvalid.d.ts +0 -9
  551. package/_validate_dist-esm_options.optionsvalid.d.ts +0 -9
  552. package/locale-data/root.js +0 -6
package/polyfill.umd.js CHANGED
@@ -1,755 +1,691 @@
1
1
  (function (factory) {
2
- typeof define === 'function' && define.amd ? define(factory) :
3
- factory();
2
+ typeof define === 'function' && define.amd ? define(factory) :
3
+ factory();
4
4
  }((function () { 'use strict';
5
5
 
6
- /*! *****************************************************************************
7
- Copyright (c) Microsoft Corporation.
8
-
9
- Permission to use, copy, modify, and/or distribute this software for any
10
- purpose with or without fee is hereby granted.
11
-
12
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
13
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
14
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
15
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
16
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
- PERFORMANCE OF THIS SOFTWARE.
19
- ***************************************************************************** */
20
- /* global Reflect, Promise */
21
-
22
- var extendStatics = function(d, b) {
23
- extendStatics = Object.setPrototypeOf ||
24
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
26
- return extendStatics(d, b);
27
- };
28
-
29
- function __extends(d, b) {
30
- extendStatics(d, b);
31
- function __() { this.constructor = d; }
32
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33
- }
34
-
35
- var __assign = function() {
36
- __assign = Object.assign || function __assign(t) {
37
- for (var s, i = 1, n = arguments.length; i < n; i++) {
38
- s = arguments[i];
39
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
40
- }
41
- return t;
42
- };
43
- return __assign.apply(this, arguments);
44
- };
6
+ /**
7
+ * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue
8
+ * @param x number
9
+ */
10
+ var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;
11
+ function invariant(condition, message, Err) {
12
+ if (Err === void 0) { Err = Error; }
13
+ if (!condition) {
14
+ throw new Err(message);
15
+ }
16
+ }
45
17
 
46
- /**
47
- * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue
48
- * @param x number
49
- */
50
- var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;
51
- function invariant(condition, message, Err) {
52
- if (Err === void 0) { Err = Error; }
53
- if (!condition) {
54
- throw new Err(message);
55
- }
56
- }
18
+ /**
19
+ * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
20
+ * @param locales
21
+ */
22
+ function CanonicalizeLocaleList(locales) {
23
+ // TODO
24
+ return Intl.getCanonicalLocales(locales);
25
+ }
57
26
 
58
- /**
59
- * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
60
- * @param locales
61
- */
62
- function CanonicalizeLocaleList(locales) {
63
- // TODO
64
- return Intl.getCanonicalLocales(locales);
65
- }
27
+ /**
28
+ * https://tc39.es/ecma262/#sec-tostring
29
+ */
30
+ function ToString(o) {
31
+ // Only symbol is irregular...
32
+ if (typeof o === 'symbol') {
33
+ throw TypeError('Cannot convert a Symbol value to a string');
34
+ }
35
+ return String(o);
36
+ }
37
+ /**
38
+ * https://tc39.es/ecma262/#sec-toobject
39
+ * @param arg
40
+ */
41
+ function ToObject(arg) {
42
+ if (arg == null) {
43
+ throw new TypeError('undefined/null cannot be converted to object');
44
+ }
45
+ return Object(arg);
46
+ }
47
+ /**
48
+ * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue
49
+ * @param x
50
+ * @param y
51
+ */
52
+ function SameValue(x, y) {
53
+ if (Object.is) {
54
+ return Object.is(x, y);
55
+ }
56
+ // SameValue algorithm
57
+ if (x === y) {
58
+ // Steps 1-5, 7-10
59
+ // Steps 6.b-6.e: +0 != -0
60
+ return x !== 0 || 1 / x === 1 / y;
61
+ }
62
+ // Step 6.a: NaN == NaN
63
+ return x !== x && y !== y;
64
+ }
65
+ /**
66
+ * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type
67
+ * @param x
68
+ */
69
+ function Type(x) {
70
+ if (x === null) {
71
+ return 'Null';
72
+ }
73
+ if (typeof x === 'undefined') {
74
+ return 'Undefined';
75
+ }
76
+ if (typeof x === 'function' || typeof x === 'object') {
77
+ return 'Object';
78
+ }
79
+ if (typeof x === 'number') {
80
+ return 'Number';
81
+ }
82
+ if (typeof x === 'boolean') {
83
+ return 'Boolean';
84
+ }
85
+ if (typeof x === 'string') {
86
+ return 'String';
87
+ }
88
+ if (typeof x === 'symbol') {
89
+ return 'Symbol';
90
+ }
91
+ if (typeof x === 'bigint') {
92
+ return 'BigInt';
93
+ }
94
+ }
66
95
 
67
- /**
68
- * https://tc39.es/ecma262/#sec-tostring
69
- */
70
- function ToString(o) {
71
- // Only symbol is irregular...
72
- if (typeof o === 'symbol') {
73
- throw TypeError('Cannot convert a Symbol value to a string');
74
- }
75
- return String(o);
76
- }
77
- /**
78
- * https://tc39.es/ecma262/#sec-toobject
79
- * @param arg
80
- */
81
- function ToObject(arg) {
82
- if (arg == null) {
83
- throw new TypeError('undefined/null cannot be converted to object');
84
- }
85
- return Object(arg);
86
- }
87
- /**
88
- * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue
89
- * @param x
90
- * @param y
91
- */
92
- function SameValue(x, y) {
93
- if (Object.is) {
94
- return Object.is(x, y);
95
- }
96
- // SameValue algorithm
97
- if (x === y) {
98
- // Steps 1-5, 7-10
99
- // Steps 6.b-6.e: +0 != -0
100
- return x !== 0 || 1 / x === 1 / y;
101
- }
102
- // Step 6.a: NaN == NaN
103
- return x !== x && y !== y;
104
- }
105
- /**
106
- * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type
107
- * @param x
108
- */
109
- function Type(x) {
110
- if (x === null) {
111
- return 'Null';
112
- }
113
- if (typeof x === 'undefined') {
114
- return 'Undefined';
115
- }
116
- if (typeof x === 'function' || typeof x === 'object') {
117
- return 'Object';
118
- }
119
- if (typeof x === 'number') {
120
- return 'Number';
121
- }
122
- if (typeof x === 'boolean') {
123
- return 'Boolean';
124
- }
125
- if (typeof x === 'string') {
126
- return 'String';
127
- }
128
- if (typeof x === 'symbol') {
129
- return 'Symbol';
130
- }
131
- if (typeof x === 'bigint') {
132
- return 'BigInt';
133
- }
134
- }
96
+ /**
97
+ * https://tc39.es/ecma402/#sec-partitionpattern
98
+ * @param pattern
99
+ */
100
+ function PartitionPattern(pattern) {
101
+ var result = [];
102
+ var beginIndex = pattern.indexOf('{');
103
+ var endIndex = 0;
104
+ var nextIndex = 0;
105
+ var length = pattern.length;
106
+ while (beginIndex < pattern.length && beginIndex > -1) {
107
+ endIndex = pattern.indexOf('}', beginIndex);
108
+ invariant(endIndex > beginIndex, "Invalid pattern " + pattern);
109
+ if (beginIndex > nextIndex) {
110
+ result.push({
111
+ type: 'literal',
112
+ value: pattern.substring(nextIndex, beginIndex),
113
+ });
114
+ }
115
+ result.push({
116
+ type: pattern.substring(beginIndex + 1, endIndex),
117
+ value: undefined,
118
+ });
119
+ nextIndex = endIndex + 1;
120
+ beginIndex = pattern.indexOf('{', nextIndex);
121
+ }
122
+ if (nextIndex < length) {
123
+ result.push({
124
+ type: 'literal',
125
+ value: pattern.substring(nextIndex, length),
126
+ });
127
+ }
128
+ return result;
129
+ }
135
130
 
136
- /**
137
- * https://tc39.es/ecma402/#sec-partitionpattern
138
- * @param pattern
139
- */
140
- function PartitionPattern(pattern) {
141
- var result = [];
142
- var beginIndex = pattern.indexOf('{');
143
- var endIndex = 0;
144
- var nextIndex = 0;
145
- var length = pattern.length;
146
- while (beginIndex < pattern.length && beginIndex > -1) {
147
- endIndex = pattern.indexOf('}', beginIndex);
148
- invariant(endIndex > beginIndex, "Invalid pattern " + pattern);
149
- if (beginIndex > nextIndex) {
150
- result.push({
151
- type: 'literal',
152
- value: pattern.substring(nextIndex, beginIndex),
153
- });
154
- }
155
- result.push({
156
- type: pattern.substring(beginIndex + 1, endIndex),
157
- value: undefined,
158
- });
159
- nextIndex = endIndex + 1;
160
- beginIndex = pattern.indexOf('{', nextIndex);
161
- }
162
- if (nextIndex < length) {
163
- result.push({
164
- type: 'literal',
165
- value: pattern.substring(nextIndex, length),
166
- });
167
- }
168
- return result;
169
- }
131
+ /**
132
+ * https://tc39.es/ecma402/#sec-getoption
133
+ * @param opts
134
+ * @param prop
135
+ * @param type
136
+ * @param values
137
+ * @param fallback
138
+ */
139
+ function GetOption(opts, prop, type, values, fallback) {
140
+ // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);
141
+ var value = opts[prop];
142
+ if (value !== undefined) {
143
+ if (type !== 'boolean' && type !== 'string') {
144
+ throw new TypeError('invalid type');
145
+ }
146
+ if (type === 'boolean') {
147
+ value = Boolean(value);
148
+ }
149
+ if (type === 'string') {
150
+ value = ToString(value);
151
+ }
152
+ if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {
153
+ throw new RangeError(value + " is not within " + values.join(', '));
154
+ }
155
+ return value;
156
+ }
157
+ return fallback;
158
+ }
170
159
 
171
- /**
172
- * https://tc39.es/ecma402/#sec-getoption
173
- * @param opts
174
- * @param prop
175
- * @param type
176
- * @param values
177
- * @param fallback
178
- */
179
- function GetOption(opts, prop, type, values, fallback) {
180
- // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);
181
- var value = opts[prop];
182
- if (value !== undefined) {
183
- if (type !== 'boolean' && type !== 'string') {
184
- throw new TypeError('invalid type');
185
- }
186
- if (type === 'boolean') {
187
- value = Boolean(value);
188
- }
189
- if (type === 'string') {
190
- value = ToString(value);
191
- }
192
- if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {
193
- throw new RangeError(value + " is not within " + values.join(', '));
194
- }
195
- return value;
196
- }
197
- return fallback;
198
- }
160
+ /**
161
+ * https://tc39.es/ecma402/#sec-bestavailablelocale
162
+ * @param availableLocales
163
+ * @param locale
164
+ */
165
+ function BestAvailableLocale(availableLocales, locale) {
166
+ var candidate = locale;
167
+ while (true) {
168
+ if (availableLocales.has(candidate)) {
169
+ return candidate;
170
+ }
171
+ var pos = candidate.lastIndexOf('-');
172
+ if (!~pos) {
173
+ return undefined;
174
+ }
175
+ if (pos >= 2 && candidate[pos - 2] === '-') {
176
+ pos -= 2;
177
+ }
178
+ candidate = candidate.slice(0, pos);
179
+ }
180
+ }
199
181
 
200
- /**
201
- * https://tc39.es/ecma402/#sec-bestavailablelocale
202
- * @param availableLocales
203
- * @param locale
204
- */
205
- function BestAvailableLocale(availableLocales, locale) {
206
- var candidate = locale;
207
- while (true) {
208
- if (~availableLocales.indexOf(candidate)) {
209
- return candidate;
210
- }
211
- var pos = candidate.lastIndexOf('-');
212
- if (!~pos) {
213
- return undefined;
214
- }
215
- if (pos >= 2 && candidate[pos - 2] === '-') {
216
- pos -= 2;
217
- }
218
- candidate = candidate.slice(0, pos);
219
- }
220
- }
182
+ /**
183
+ * https://tc39.es/ecma402/#sec-lookupmatcher
184
+ * @param availableLocales
185
+ * @param requestedLocales
186
+ * @param getDefaultLocale
187
+ */
188
+ function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
189
+ var result = { locale: '' };
190
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
191
+ var locale = requestedLocales_1[_i];
192
+ var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
193
+ var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
194
+ if (availableLocale) {
195
+ result.locale = availableLocale;
196
+ if (locale !== noExtensionLocale) {
197
+ result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
198
+ }
199
+ return result;
200
+ }
201
+ }
202
+ result.locale = getDefaultLocale();
203
+ return result;
204
+ }
221
205
 
222
- /**
223
- * https://tc39.es/ecma402/#sec-lookupmatcher
224
- * @param availableLocales
225
- * @param requestedLocales
226
- * @param getDefaultLocale
227
- */
228
- function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {
229
- var result = { locale: '' };
230
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
231
- var locale = requestedLocales_1[_i];
232
- var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
233
- var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
234
- if (availableLocale) {
235
- result.locale = availableLocale;
236
- if (locale !== noExtensionLocale) {
237
- result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
238
- }
239
- return result;
240
- }
241
- }
242
- result.locale = getDefaultLocale();
243
- return result;
244
- }
206
+ /**
207
+ * https://tc39.es/ecma402/#sec-bestfitmatcher
208
+ * @param availableLocales
209
+ * @param requestedLocales
210
+ * @param getDefaultLocale
211
+ */
212
+ function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
213
+ var minimizedAvailableLocaleMap = {};
214
+ var minimizedAvailableLocales = new Set();
215
+ availableLocales.forEach(function (locale) {
216
+ var minimizedLocale = new Intl.Locale(locale)
217
+ .minimize()
218
+ .toString();
219
+ minimizedAvailableLocaleMap[minimizedLocale] = locale;
220
+ minimizedAvailableLocales.add(minimizedLocale);
221
+ });
222
+ var foundLocale;
223
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
224
+ var l = requestedLocales_1[_i];
225
+ if (foundLocale) {
226
+ break;
227
+ }
228
+ var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
229
+ if (availableLocales.has(noExtensionLocale)) {
230
+ foundLocale = noExtensionLocale;
231
+ break;
232
+ }
233
+ if (minimizedAvailableLocales.has(noExtensionLocale)) {
234
+ foundLocale = minimizedAvailableLocaleMap[noExtensionLocale];
235
+ break;
236
+ }
237
+ var locale = new Intl.Locale(noExtensionLocale);
238
+ var maximizedRequestedLocale = locale.maximize().toString();
239
+ var minimizedRequestedLocale = locale.minimize().toString();
240
+ // Check minimized locale
241
+ if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {
242
+ foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale];
243
+ break;
244
+ }
245
+ // Lookup algo on maximized locale
246
+ foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);
247
+ }
248
+ return {
249
+ locale: foundLocale || getDefaultLocale(),
250
+ };
251
+ }
245
252
 
246
- /**
247
- * https://tc39.es/ecma402/#sec-bestfitmatcher
248
- * @param availableLocales
249
- * @param requestedLocales
250
- * @param getDefaultLocale
251
- */
252
- function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {
253
- var result = { locale: '' };
254
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
255
- var locale = requestedLocales_1[_i];
256
- var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
257
- var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
258
- if (availableLocale) {
259
- result.locale = availableLocale;
260
- if (locale !== noExtensionLocale) {
261
- result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);
262
- }
263
- return result;
264
- }
265
- }
266
- result.locale = getDefaultLocale();
267
- return result;
268
- }
253
+ /**
254
+ * https://tc39.es/ecma402/#sec-unicodeextensionvalue
255
+ * @param extension
256
+ * @param key
257
+ */
258
+ function UnicodeExtensionValue(extension, key) {
259
+ invariant(key.length === 2, 'key must have 2 elements');
260
+ var size = extension.length;
261
+ var searchValue = "-" + key + "-";
262
+ var pos = extension.indexOf(searchValue);
263
+ if (pos !== -1) {
264
+ var start = pos + 4;
265
+ var end = start;
266
+ var k = start;
267
+ var done = false;
268
+ while (!done) {
269
+ var e = extension.indexOf('-', k);
270
+ var len = void 0;
271
+ if (e === -1) {
272
+ len = size - k;
273
+ }
274
+ else {
275
+ len = e - k;
276
+ }
277
+ if (len === 2) {
278
+ done = true;
279
+ }
280
+ else if (e === -1) {
281
+ end = size;
282
+ done = true;
283
+ }
284
+ else {
285
+ end = e;
286
+ k = e + 1;
287
+ }
288
+ }
289
+ return extension.slice(start, end);
290
+ }
291
+ searchValue = "-" + key;
292
+ pos = extension.indexOf(searchValue);
293
+ if (pos !== -1 && pos + 3 === size) {
294
+ return '';
295
+ }
296
+ return undefined;
297
+ }
269
298
 
270
- /**
271
- * https://tc39.es/ecma402/#sec-unicodeextensionvalue
272
- * @param extension
273
- * @param key
274
- */
275
- function UnicodeExtensionValue(extension, key) {
276
- invariant(key.length === 2, 'key must have 2 elements');
277
- var size = extension.length;
278
- var searchValue = "-" + key + "-";
279
- var pos = extension.indexOf(searchValue);
280
- if (pos !== -1) {
281
- var start = pos + 4;
282
- var end = start;
283
- var k = start;
284
- var done = false;
285
- while (!done) {
286
- var e = extension.indexOf('-', k);
287
- var len = void 0;
288
- if (e === -1) {
289
- len = size - k;
290
- }
291
- else {
292
- len = e - k;
293
- }
294
- if (len === 2) {
295
- done = true;
296
- }
297
- else if (e === -1) {
298
- end = size;
299
- done = true;
300
- }
301
- else {
302
- end = e;
303
- k = e + 1;
304
- }
305
- }
306
- return extension.slice(start, end);
307
- }
308
- searchValue = "-" + key;
309
- pos = extension.indexOf(searchValue);
310
- if (pos !== -1 && pos + 3 === size) {
311
- return '';
312
- }
313
- return undefined;
314
- }
299
+ /**
300
+ * https://tc39.es/ecma402/#sec-resolvelocale
301
+ */
302
+ function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
303
+ var matcher = options.localeMatcher;
304
+ var r;
305
+ if (matcher === 'lookup') {
306
+ r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
307
+ }
308
+ else {
309
+ r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
310
+ }
311
+ var foundLocale = r.locale;
312
+ var result = { locale: '', dataLocale: foundLocale };
313
+ var supportedExtension = '-u';
314
+ for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
315
+ var key = relevantExtensionKeys_1[_i];
316
+ invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
317
+ var foundLocaleData = localeData[foundLocale];
318
+ invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
319
+ var keyLocaleData = foundLocaleData[key];
320
+ invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
321
+ var value = keyLocaleData[0];
322
+ invariant(typeof value === 'string' || value === null, "value must be string or null but got " + typeof value + " in key " + key);
323
+ var supportedExtensionAddition = '';
324
+ if (r.extension) {
325
+ var requestedValue = UnicodeExtensionValue(r.extension, key);
326
+ if (requestedValue !== undefined) {
327
+ if (requestedValue !== '') {
328
+ if (~keyLocaleData.indexOf(requestedValue)) {
329
+ value = requestedValue;
330
+ supportedExtensionAddition = "-" + key + "-" + value;
331
+ }
332
+ }
333
+ else if (~requestedValue.indexOf('true')) {
334
+ value = 'true';
335
+ supportedExtensionAddition = "-" + key;
336
+ }
337
+ }
338
+ }
339
+ if (key in options) {
340
+ var optionsValue = options[key];
341
+ invariant(typeof optionsValue === 'string' ||
342
+ typeof optionsValue === 'undefined' ||
343
+ optionsValue === null, 'optionsValue must be String, Undefined or Null');
344
+ if (~keyLocaleData.indexOf(optionsValue)) {
345
+ if (optionsValue !== value) {
346
+ value = optionsValue;
347
+ supportedExtensionAddition = '';
348
+ }
349
+ }
350
+ }
351
+ result[key] = value;
352
+ supportedExtension += supportedExtensionAddition;
353
+ }
354
+ if (supportedExtension.length > 2) {
355
+ var privateIndex = foundLocale.indexOf('-x-');
356
+ if (privateIndex === -1) {
357
+ foundLocale = foundLocale + supportedExtension;
358
+ }
359
+ else {
360
+ var preExtension = foundLocale.slice(0, privateIndex);
361
+ var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
362
+ foundLocale = preExtension + supportedExtension + postExtension;
363
+ }
364
+ foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
365
+ }
366
+ result.locale = foundLocale;
367
+ return result;
368
+ }
315
369
 
316
- /**
317
- * https://tc39.es/ecma402/#sec-resolvelocale
318
- */
319
- function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {
320
- var matcher = options.localeMatcher;
321
- var r;
322
- if (matcher === 'lookup') {
323
- r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);
324
- }
325
- else {
326
- r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);
327
- }
328
- var foundLocale = r.locale;
329
- var result = { locale: '', dataLocale: foundLocale };
330
- var supportedExtension = '-u';
331
- for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {
332
- var key = relevantExtensionKeys_1[_i];
333
- invariant(foundLocale in localeData, "Missing locale data for " + foundLocale);
334
- var foundLocaleData = localeData[foundLocale];
335
- invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, "locale data " + key + " must be an object");
336
- var keyLocaleData = foundLocaleData[key];
337
- invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array");
338
- var value = keyLocaleData[0];
339
- invariant(typeof value === 'string' || value === null, "value must be string or null but got " + typeof value + " in key " + key);
340
- var supportedExtensionAddition = '';
341
- if (r.extension) {
342
- var requestedValue = UnicodeExtensionValue(r.extension, key);
343
- if (requestedValue !== undefined) {
344
- if (requestedValue !== '') {
345
- if (~keyLocaleData.indexOf(requestedValue)) {
346
- value = requestedValue;
347
- supportedExtensionAddition = "-" + key + "-" + value;
348
- }
349
- }
350
- else if (~requestedValue.indexOf('true')) {
351
- value = 'true';
352
- supportedExtensionAddition = "-" + key;
353
- }
354
- }
355
- }
356
- if (key in options) {
357
- var optionsValue = options[key];
358
- invariant(typeof optionsValue === 'string' ||
359
- typeof optionsValue === 'undefined' ||
360
- optionsValue === null, 'optionsValue must be String, Undefined or Null');
361
- if (~keyLocaleData.indexOf(optionsValue)) {
362
- if (optionsValue !== value) {
363
- value = optionsValue;
364
- supportedExtensionAddition = '';
365
- }
366
- }
367
- }
368
- result[key] = value;
369
- supportedExtension += supportedExtensionAddition;
370
- }
371
- if (supportedExtension.length > 2) {
372
- var privateIndex = foundLocale.indexOf('-x-');
373
- if (privateIndex === -1) {
374
- foundLocale = foundLocale + supportedExtension;
375
- }
376
- else {
377
- var preExtension = foundLocale.slice(0, privateIndex);
378
- var postExtension = foundLocale.slice(privateIndex, foundLocale.length);
379
- foundLocale = preExtension + supportedExtension + postExtension;
380
- }
381
- foundLocale = Intl.getCanonicalLocales(foundLocale)[0];
382
- }
383
- result.locale = foundLocale;
384
- return result;
385
- }
370
+ /**
371
+ * https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit
372
+ * @param unit
373
+ */
374
+ function SingularRelativeTimeUnit(unit) {
375
+ invariant(Type(unit) === 'String', 'unit must be a string');
376
+ if (unit === 'seconds')
377
+ return 'second';
378
+ if (unit === 'minutes')
379
+ return 'minute';
380
+ if (unit === 'hours')
381
+ return 'hour';
382
+ if (unit === 'days')
383
+ return 'day';
384
+ if (unit === 'weeks')
385
+ return 'week';
386
+ if (unit === 'months')
387
+ return 'month';
388
+ if (unit === 'quarters')
389
+ return 'quarter';
390
+ if (unit === 'years')
391
+ return 'year';
392
+ if (unit !== 'second' &&
393
+ unit !== 'minute' &&
394
+ unit !== 'hour' &&
395
+ unit !== 'day' &&
396
+ unit !== 'week' &&
397
+ unit !== 'month' &&
398
+ unit !== 'quarter' &&
399
+ unit !== 'year') {
400
+ throw new RangeError('invalid unit');
401
+ }
402
+ return unit;
403
+ }
386
404
 
387
- /**
388
- * https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit
389
- * @param unit
390
- */
391
- function SingularRelativeTimeUnit(unit) {
392
- invariant(Type(unit) === 'String', 'unit must be a string');
393
- if (unit === 'seconds')
394
- return 'second';
395
- if (unit === 'minutes')
396
- return 'minute';
397
- if (unit === 'hours')
398
- return 'hour';
399
- if (unit === 'days')
400
- return 'day';
401
- if (unit === 'weeks')
402
- return 'week';
403
- if (unit === 'months')
404
- return 'month';
405
- if (unit === 'quarters')
406
- return 'quarter';
407
- if (unit === 'years')
408
- return 'year';
409
- if (unit !== 'second' &&
410
- unit !== 'minute' &&
411
- unit !== 'hour' &&
412
- unit !== 'day' &&
413
- unit !== 'week' &&
414
- unit !== 'month' &&
415
- unit !== 'quarter' &&
416
- unit !== 'year') {
417
- throw new RangeError('invalid unit');
418
- }
419
- return unit;
420
- }
405
+ function MakePartsList(pattern, unit, parts) {
406
+ var patternParts = PartitionPattern(pattern);
407
+ var result = [];
408
+ for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {
409
+ var patternPart = patternParts_1[_i];
410
+ if (patternPart.type === 'literal') {
411
+ result.push({
412
+ type: 'literal',
413
+ value: patternPart.value,
414
+ });
415
+ }
416
+ else {
417
+ invariant(patternPart.type === '0', "Malformed pattern " + pattern);
418
+ for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) {
419
+ var part = parts_1[_a];
420
+ result.push({
421
+ type: part.type,
422
+ value: part.value,
423
+ unit: unit,
424
+ });
425
+ }
426
+ }
427
+ }
428
+ return result;
429
+ }
421
430
 
422
- function MakePartsList(pattern, unit, parts) {
423
- var patternParts = PartitionPattern(pattern);
424
- var result = [];
425
- for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) {
426
- var patternPart = patternParts_1[_i];
427
- if (patternPart.type === 'literal') {
428
- result.push({
429
- type: 'literal',
430
- value: patternPart.value,
431
- });
432
- }
433
- else {
434
- invariant(patternPart.type === '0', "Malformed pattern " + pattern);
435
- for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) {
436
- var part = parts_1[_a];
437
- result.push({
438
- type: part.type,
439
- value: part.value,
440
- unit: unit,
441
- });
442
- }
443
- }
444
- }
445
- return result;
446
- }
431
+ function PartitionRelativeTimePattern(rtf, value, unit, _a) {
432
+ var getInternalSlots = _a.getInternalSlots;
433
+ invariant(Type(value) === 'Number', "value must be number, instead got " + typeof value, TypeError);
434
+ invariant(Type(unit) === 'String', "unit must be number, instead got " + typeof value, TypeError);
435
+ if (isNaN(value) || !isFinite(value)) {
436
+ throw new RangeError("Invalid value " + value);
437
+ }
438
+ var resolvedUnit = SingularRelativeTimeUnit(unit);
439
+ var _b = getInternalSlots(rtf), fields = _b.fields, style = _b.style, numeric = _b.numeric, pluralRules = _b.pluralRules, numberFormat = _b.numberFormat;
440
+ var entry = resolvedUnit;
441
+ if (style === 'short') {
442
+ entry = resolvedUnit + "-short";
443
+ }
444
+ else if (style === 'narrow') {
445
+ entry = resolvedUnit + "-narrow";
446
+ }
447
+ if (!(entry in fields)) {
448
+ entry = resolvedUnit;
449
+ }
450
+ var patterns = fields[entry];
451
+ if (numeric === 'auto') {
452
+ if (ToString(value) in patterns) {
453
+ return [
454
+ {
455
+ type: 'literal',
456
+ value: patterns[ToString(value)],
457
+ },
458
+ ];
459
+ }
460
+ }
461
+ var tl = 'future';
462
+ if (SameValue(value, -0) || value < 0) {
463
+ tl = 'past';
464
+ }
465
+ var po = patterns[tl];
466
+ var fv = typeof numberFormat.formatToParts === 'function'
467
+ ? numberFormat.formatToParts(Math.abs(value))
468
+ : // TODO: If formatToParts is not supported, we assume the whole formatted
469
+ // number is a part
470
+ [
471
+ {
472
+ type: 'literal',
473
+ value: numberFormat.format(Math.abs(value)),
474
+ unit: unit,
475
+ },
476
+ ];
477
+ var pr = pluralRules.select(value);
478
+ var pattern = po[pr];
479
+ return MakePartsList(pattern, resolvedUnit, fv);
480
+ }
447
481
 
448
- function PartitionRelativeTimePattern(rtf, value, unit, _a) {
449
- var getInternalSlots = _a.getInternalSlots;
450
- invariant(Type(value) === 'Number', "value must be number, instead got " + typeof value, TypeError);
451
- invariant(Type(unit) === 'String', "unit must be number, instead got " + typeof value, TypeError);
452
- if (isNaN(value) || !isFinite(value)) {
453
- throw new RangeError("Invalid value " + value);
454
- }
455
- var resolvedUnit = SingularRelativeTimeUnit(unit);
456
- var _b = getInternalSlots(rtf), fields = _b.fields, style = _b.style, numeric = _b.numeric, pluralRules = _b.pluralRules, numberFormat = _b.numberFormat;
457
- var entry = resolvedUnit;
458
- if (style === 'short') {
459
- entry = resolvedUnit + "-short";
460
- }
461
- else if (style === 'narrow') {
462
- entry = resolvedUnit + "-narrow";
463
- }
464
- if (!(entry in fields)) {
465
- entry = resolvedUnit;
466
- }
467
- var patterns = fields[entry];
468
- if (numeric === 'auto') {
469
- if (ToString(value) in patterns) {
470
- return [
471
- {
472
- type: 'literal',
473
- value: patterns[ToString(value)],
474
- },
475
- ];
476
- }
477
- }
478
- var tl = 'future';
479
- if (SameValue(value, -0) || value < 0) {
480
- tl = 'past';
481
- }
482
- var po = patterns[tl];
483
- var fv = typeof numberFormat.formatToParts === 'function'
484
- ? numberFormat.formatToParts(Math.abs(value))
485
- : // TODO: If formatToParts is not supported, we assume the whole formatted
486
- // number is a part
487
- [
488
- {
489
- type: 'literal',
490
- value: numberFormat.format(Math.abs(value)),
491
- unit: unit,
492
- },
493
- ];
494
- var pr = pluralRules.select(value);
495
- var pattern = po[pr];
496
- return MakePartsList(pattern, resolvedUnit, fv);
497
- }
482
+ var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;
483
+ function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
484
+ var getInternalSlots = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale;
485
+ var internalSlots = getInternalSlots(rtf);
486
+ internalSlots.initializedRelativeTimeFormat = true;
487
+ var requestedLocales = CanonicalizeLocaleList(locales);
488
+ var opt = Object.create(null);
489
+ var opts = options === undefined ? Object.create(null) : ToObject(options);
490
+ var matcher = GetOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
491
+ opt.localeMatcher = matcher;
492
+ var numberingSystem = GetOption(opts, 'numberingSystem', 'string', undefined, undefined);
493
+ if (numberingSystem !== undefined) {
494
+ if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) {
495
+ throw new RangeError("Invalid numbering system " + numberingSystem);
496
+ }
497
+ }
498
+ opt.nu = numberingSystem;
499
+ var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
500
+ var locale = r.locale, nu = r.nu;
501
+ internalSlots.locale = locale;
502
+ internalSlots.style = GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
503
+ internalSlots.numeric = GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
504
+ var fields = localeData[r.dataLocale];
505
+ invariant(!!fields, "Missing locale data for " + r.dataLocale);
506
+ internalSlots.fields = fields;
507
+ internalSlots.numberFormat = new Intl.NumberFormat(locales);
508
+ internalSlots.pluralRules = new Intl.PluralRules(locales);
509
+ internalSlots.numberingSystem = nu;
510
+ return rtf;
511
+ }
498
512
 
499
- var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;
500
- function InitializeRelativeTimeFormat(rtf, locales, options, _a) {
501
- var getInternalSlots = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale;
502
- var internalSlots = getInternalSlots(rtf);
503
- internalSlots.initializedRelativeTimeFormat = true;
504
- var requestedLocales = CanonicalizeLocaleList(locales);
505
- var opt = Object.create(null);
506
- var opts = options === undefined ? Object.create(null) : ToObject(options);
507
- var matcher = GetOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
508
- opt.localeMatcher = matcher;
509
- var numberingSystem = GetOption(opts, 'numberingSystem', 'string', undefined, undefined);
510
- if (numberingSystem !== undefined) {
511
- if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) {
512
- throw new RangeError("Invalid numbering system " + numberingSystem);
513
- }
514
- }
515
- opt.nu = numberingSystem;
516
- var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);
517
- var locale = r.locale, nu = r.nu;
518
- internalSlots.locale = locale;
519
- internalSlots.style = GetOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
520
- internalSlots.numeric = GetOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
521
- var fields = localeData[locale];
522
- invariant(!!fields, "Missing locale data for " + locale);
523
- internalSlots.fields = fields;
524
- internalSlots.numberFormat = new Intl.NumberFormat(locales);
525
- internalSlots.pluralRules = new Intl.PluralRules(locales);
526
- internalSlots.numberingSystem = nu;
527
- return rtf;
528
- }
513
+ /**
514
+ * https://tc39.es/ecma402/#sec-lookupsupportedlocales
515
+ * @param availableLocales
516
+ * @param requestedLocales
517
+ */
518
+ function LookupSupportedLocales(availableLocales, requestedLocales) {
519
+ var subset = [];
520
+ for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
521
+ var locale = requestedLocales_1[_i];
522
+ var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
523
+ var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
524
+ if (availableLocale) {
525
+ subset.push(availableLocale);
526
+ }
527
+ }
528
+ return subset;
529
+ }
529
530
 
530
- /**
531
- * https://tc39.es/ecma402/#sec-lookupsupportedlocales
532
- * @param availableLocales
533
- * @param requestedLocales
534
- */
535
- function LookupSupportedLocales(availableLocales, requestedLocales) {
536
- var subset = [];
537
- for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {
538
- var locale = requestedLocales_1[_i];
539
- var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');
540
- var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);
541
- if (availableLocale) {
542
- subset.push(availableLocale);
543
- }
544
- }
545
- return subset;
546
- }
531
+ /**
532
+ * https://tc39.es/ecma402/#sec-supportedlocales
533
+ * @param availableLocales
534
+ * @param requestedLocales
535
+ * @param options
536
+ */
537
+ function SupportedLocales(availableLocales, requestedLocales, options) {
538
+ var matcher = 'best fit';
539
+ if (options !== undefined) {
540
+ options = ToObject(options);
541
+ matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');
542
+ }
543
+ if (matcher === 'best fit') {
544
+ return LookupSupportedLocales(availableLocales, requestedLocales);
545
+ }
546
+ return LookupSupportedLocales(availableLocales, requestedLocales);
547
+ }
547
548
 
548
- /**
549
- * https://tc39.es/ecma402/#sec-supportedlocales
550
- * @param availableLocales
551
- * @param requestedLocales
552
- * @param options
553
- */
554
- function SupportedLocales(availableLocales, requestedLocales, options) {
555
- var matcher = 'best fit';
556
- if (options !== undefined) {
557
- options = ToObject(options);
558
- matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');
559
- }
560
- if (matcher === 'best fit') {
561
- return LookupSupportedLocales(availableLocales, requestedLocales);
562
- }
563
- return LookupSupportedLocales(availableLocales, requestedLocales);
564
- }
549
+ // Type-only circular import
550
+ // eslint-disable-next-line import/no-cycle
551
+ var internalSlotMap = new WeakMap();
552
+ function getInternalSlots(x) {
553
+ var internalSlots = internalSlotMap.get(x);
554
+ if (!internalSlots) {
555
+ internalSlots = Object.create(null);
556
+ internalSlotMap.set(x, internalSlots);
557
+ }
558
+ return internalSlots;
559
+ }
565
560
 
566
- function getLocaleHierarchy(locale) {
567
- var results = [locale];
568
- var localeParts = locale.split('-');
569
- for (var i = localeParts.length; i > 1; i--) {
570
- results.push(localeParts.slice(0, i - 1).join('-'));
571
- }
572
- return results;
573
- }
574
- var MissingLocaleDataError = /** @class */ (function (_super) {
575
- __extends(MissingLocaleDataError, _super);
576
- function MissingLocaleDataError() {
577
- var _this = _super !== null && _super.apply(this, arguments) || this;
578
- _this.type = 'MISSING_LOCALE_DATA';
579
- return _this;
580
- }
581
- return MissingLocaleDataError;
582
- }(Error));
583
- function isMissingLocaleDataError(e) {
584
- return e.type === 'MISSING_LOCALE_DATA';
585
- }
586
- function unpackData(locale, localeData,
587
- /** By default shallow merge the dictionaries. */
588
- reducer) {
589
- if (reducer === void 0) { reducer = function (all, d) { return (__assign(__assign({}, all), d)); }; }
590
- var localeHierarchy = getLocaleHierarchy(locale);
591
- var dataToMerge = localeHierarchy
592
- .map(function (l) { return localeData.data[l]; })
593
- .filter(Boolean);
594
- if (!dataToMerge.length) {
595
- throw new MissingLocaleDataError("Missing locale data for \"" + locale + "\", lookup hierarchy: " + localeHierarchy.join(', '));
596
- }
597
- dataToMerge.reverse();
598
- return dataToMerge.reduce(reducer, {});
599
- }
561
+ var RelativeTimeFormat = /** @class */ (function () {
562
+ function RelativeTimeFormat(locales, options) {
563
+ // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js
564
+ // Cannot use `new.target` bc of IE11 & TS transpiles it to something else
565
+ var newTarget = this && this instanceof RelativeTimeFormat ? this.constructor : void 0;
566
+ if (!newTarget) {
567
+ throw new TypeError("Intl.RelativeTimeFormat must be called with 'new'");
568
+ }
569
+ return InitializeRelativeTimeFormat(this, locales, options, {
570
+ getInternalSlots: getInternalSlots,
571
+ availableLocales: RelativeTimeFormat.availableLocales,
572
+ relevantExtensionKeys: RelativeTimeFormat.relevantExtensionKeys,
573
+ localeData: RelativeTimeFormat.localeData,
574
+ getDefaultLocale: RelativeTimeFormat.getDefaultLocale,
575
+ });
576
+ }
577
+ RelativeTimeFormat.prototype.format = function (value, unit) {
578
+ if (typeof this !== 'object') {
579
+ throw new TypeError('format was called on a non-object');
580
+ }
581
+ var internalSlots = getInternalSlots(this);
582
+ if (!internalSlots.initializedRelativeTimeFormat) {
583
+ throw new TypeError('format was called on a invalid context');
584
+ }
585
+ return PartitionRelativeTimePattern(this, Number(value), ToString(unit), {
586
+ getInternalSlots: getInternalSlots,
587
+ })
588
+ .map(function (el) { return el.value; })
589
+ .join('');
590
+ };
591
+ RelativeTimeFormat.prototype.formatToParts = function (value, unit) {
592
+ if (typeof this !== 'object') {
593
+ throw new TypeError('formatToParts was called on a non-object');
594
+ }
595
+ var internalSlots = getInternalSlots(this);
596
+ if (!internalSlots.initializedRelativeTimeFormat) {
597
+ throw new TypeError('formatToParts was called on a invalid context');
598
+ }
599
+ return PartitionRelativeTimePattern(this, Number(value), ToString(unit), { getInternalSlots: getInternalSlots });
600
+ };
601
+ RelativeTimeFormat.prototype.resolvedOptions = function () {
602
+ if (typeof this !== 'object') {
603
+ throw new TypeError('resolvedOptions was called on a non-object');
604
+ }
605
+ var internalSlots = getInternalSlots(this);
606
+ if (!internalSlots.initializedRelativeTimeFormat) {
607
+ throw new TypeError('resolvedOptions was called on a invalid context');
608
+ }
609
+ // test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js
610
+ return {
611
+ locale: internalSlots.locale,
612
+ style: internalSlots.style,
613
+ numeric: internalSlots.numeric,
614
+ numberingSystem: internalSlots.numberingSystem,
615
+ };
616
+ };
617
+ RelativeTimeFormat.supportedLocalesOf = function (locales, options) {
618
+ return SupportedLocales(RelativeTimeFormat.availableLocales, CanonicalizeLocaleList(locales), options);
619
+ };
620
+ RelativeTimeFormat.__addLocaleData = function () {
621
+ var data = [];
622
+ for (var _i = 0; _i < arguments.length; _i++) {
623
+ data[_i] = arguments[_i];
624
+ }
625
+ for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {
626
+ var _b = data_1[_a], d = _b.data, locale = _b.locale;
627
+ var minimizedLocale = new Intl.Locale(locale)
628
+ .minimize()
629
+ .toString();
630
+ RelativeTimeFormat.localeData[locale] = RelativeTimeFormat.localeData[minimizedLocale] = d;
631
+ RelativeTimeFormat.availableLocales.add(minimizedLocale);
632
+ RelativeTimeFormat.availableLocales.add(locale);
633
+ if (!RelativeTimeFormat.__defaultLocale) {
634
+ RelativeTimeFormat.__defaultLocale = minimizedLocale;
635
+ }
636
+ }
637
+ };
638
+ RelativeTimeFormat.getDefaultLocale = function () {
639
+ return RelativeTimeFormat.__defaultLocale;
640
+ };
641
+ RelativeTimeFormat.localeData = {};
642
+ RelativeTimeFormat.availableLocales = new Set();
643
+ RelativeTimeFormat.__defaultLocale = '';
644
+ RelativeTimeFormat.relevantExtensionKeys = ['nu'];
645
+ RelativeTimeFormat.polyfilled = true;
646
+ return RelativeTimeFormat;
647
+ }());
648
+ try {
649
+ // IE11 does not have Symbol
650
+ if (typeof Symbol !== 'undefined') {
651
+ Object.defineProperty(RelativeTimeFormat.prototype, Symbol.toStringTag, {
652
+ value: 'Intl.RelativeTimeFormat',
653
+ writable: false,
654
+ enumerable: false,
655
+ configurable: true,
656
+ });
657
+ }
658
+ // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js
659
+ Object.defineProperty(RelativeTimeFormat.prototype.constructor, 'length', {
660
+ value: 0,
661
+ writable: false,
662
+ enumerable: false,
663
+ configurable: true,
664
+ });
665
+ // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js
666
+ Object.defineProperty(RelativeTimeFormat.supportedLocalesOf, 'length', {
667
+ value: 1,
668
+ writable: false,
669
+ enumerable: false,
670
+ configurable: true,
671
+ });
672
+ }
673
+ catch (e) {
674
+ // Meta fix so we're test262-compliant, not important
675
+ }
600
676
 
601
- // Type-only circular import
602
- // eslint-disable-next-line import/no-cycle
603
- var internalSlotMap = new WeakMap();
604
- function getInternalSlots(x) {
605
- var internalSlots = internalSlotMap.get(x);
606
- if (!internalSlots) {
607
- internalSlots = Object.create(null);
608
- internalSlotMap.set(x, internalSlots);
609
- }
610
- return internalSlots;
611
- }
677
+ function shouldPolyfill() {
678
+ return typeof Intl === 'undefined' || !('RelativeTimeFormat' in Intl);
679
+ }
612
680
 
613
- var RelativeTimeFormat = /** @class */ (function () {
614
- function RelativeTimeFormat(locales, options) {
615
- // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js
616
- // Cannot use `new.target` bc of IE11 & TS transpiles it to something else
617
- var newTarget = this && this instanceof RelativeTimeFormat ? this.constructor : void 0;
618
- if (!newTarget) {
619
- throw new TypeError("Intl.RelativeTimeFormat must be called with 'new'");
620
- }
621
- return InitializeRelativeTimeFormat(this, locales, options, {
622
- getInternalSlots: getInternalSlots,
623
- availableLocales: RelativeTimeFormat.availableLocales,
624
- relevantExtensionKeys: RelativeTimeFormat.relevantExtensionKeys,
625
- localeData: RelativeTimeFormat.localeData,
626
- getDefaultLocale: RelativeTimeFormat.getDefaultLocale,
627
- });
628
- }
629
- RelativeTimeFormat.prototype.format = function (value, unit) {
630
- if (typeof this !== 'object') {
631
- throw new TypeError('format was called on a non-object');
632
- }
633
- var internalSlots = getInternalSlots(this);
634
- if (!internalSlots.initializedRelativeTimeFormat) {
635
- throw new TypeError('format was called on a invalid context');
636
- }
637
- return PartitionRelativeTimePattern(this, Number(value), ToString(unit), {
638
- getInternalSlots: getInternalSlots,
639
- })
640
- .map(function (el) { return el.value; })
641
- .join('');
642
- };
643
- RelativeTimeFormat.prototype.formatToParts = function (value, unit) {
644
- if (typeof this !== 'object') {
645
- throw new TypeError('formatToParts was called on a non-object');
646
- }
647
- var internalSlots = getInternalSlots(this);
648
- if (!internalSlots.initializedRelativeTimeFormat) {
649
- throw new TypeError('formatToParts was called on a invalid context');
650
- }
651
- return PartitionRelativeTimePattern(this, Number(value), ToString(unit), { getInternalSlots: getInternalSlots });
652
- };
653
- RelativeTimeFormat.prototype.resolvedOptions = function () {
654
- if (typeof this !== 'object') {
655
- throw new TypeError('resolvedOptions was called on a non-object');
656
- }
657
- var internalSlots = getInternalSlots(this);
658
- if (!internalSlots.initializedRelativeTimeFormat) {
659
- throw new TypeError('resolvedOptions was called on a invalid context');
660
- }
661
- // test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js
662
- return {
663
- locale: internalSlots.locale,
664
- style: internalSlots.style,
665
- numeric: internalSlots.numeric,
666
- numberingSystem: internalSlots.numberingSystem,
667
- };
668
- };
669
- RelativeTimeFormat.supportedLocalesOf = function (locales, options) {
670
- return SupportedLocales(RelativeTimeFormat.availableLocales, CanonicalizeLocaleList(locales), options);
671
- };
672
- RelativeTimeFormat.__addLocaleData = function () {
673
- var data = [];
674
- for (var _i = 0; _i < arguments.length; _i++) {
675
- data[_i] = arguments[_i];
676
- }
677
- var _loop_1 = function (datum) {
678
- var availableLocales = datum.availableLocales;
679
- availableLocales.forEach(function (locale) {
680
- try {
681
- RelativeTimeFormat.localeData[locale] = unpackData(locale, datum);
682
- }
683
- catch (e) {
684
- if (isMissingLocaleDataError(e)) {
685
- // If we just don't have data for certain locale, that's ok
686
- return;
687
- }
688
- throw e;
689
- }
690
- });
691
- };
692
- for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {
693
- var datum = data_1[_a];
694
- _loop_1(datum);
695
- }
696
- RelativeTimeFormat.availableLocales = Object.keys(RelativeTimeFormat.localeData);
697
- if (!RelativeTimeFormat.__defaultLocale) {
698
- RelativeTimeFormat.__defaultLocale =
699
- RelativeTimeFormat.availableLocales[0];
700
- }
701
- };
702
- RelativeTimeFormat.getDefaultLocale = function () {
703
- return RelativeTimeFormat.__defaultLocale;
704
- };
705
- RelativeTimeFormat.localeData = {};
706
- RelativeTimeFormat.availableLocales = [];
707
- RelativeTimeFormat.__defaultLocale = 'en';
708
- RelativeTimeFormat.relevantExtensionKeys = ['nu'];
709
- RelativeTimeFormat.polyfilled = true;
710
- return RelativeTimeFormat;
711
- }());
712
- try {
713
- // IE11 does not have Symbol
714
- if (typeof Symbol !== 'undefined') {
715
- Object.defineProperty(RelativeTimeFormat.prototype, Symbol.toStringTag, {
716
- value: 'Intl.RelativeTimeFormat',
717
- writable: false,
718
- enumerable: false,
719
- configurable: true,
720
- });
721
- }
722
- // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js
723
- Object.defineProperty(RelativeTimeFormat.prototype.constructor, 'length', {
724
- value: 0,
725
- writable: false,
726
- enumerable: false,
727
- configurable: true,
728
- });
729
- // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js
730
- Object.defineProperty(RelativeTimeFormat.supportedLocalesOf, 'length', {
731
- value: 1,
732
- writable: false,
733
- enumerable: false,
734
- configurable: true,
735
- });
736
- }
737
- catch (e) {
738
- // Meta fix so we're test262-compliant, not important
739
- }
740
-
741
- function shouldPolyfill() {
742
- return typeof Intl === 'undefined' || !('RelativeTimeFormat' in Intl);
743
- }
744
-
745
- if (shouldPolyfill()) {
746
- Object.defineProperty(Intl, 'RelativeTimeFormat', {
747
- value: RelativeTimeFormat,
748
- writable: true,
749
- enumerable: false,
750
- configurable: true,
751
- });
752
- }
681
+ if (shouldPolyfill()) {
682
+ Object.defineProperty(Intl, 'RelativeTimeFormat', {
683
+ value: RelativeTimeFormat,
684
+ writable: true,
685
+ enumerable: false,
686
+ configurable: true,
687
+ });
688
+ }
753
689
 
754
690
  })));
755
691
  //# sourceMappingURL=polyfill.umd.js.map