@formatjs/intl-pluralrules 5.0.1 → 5.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 (507) hide show
  1. package/BUILD +465 -0
  2. package/CHANGELOG.md +659 -0
  3. package/LICENSE.md +0 -0
  4. package/README.md +0 -0
  5. package/abstract/GetOperands.ts +75 -0
  6. package/abstract/InitializePluralRules.ts +61 -0
  7. package/abstract/ResolvePlural.ts +47 -0
  8. package/get_internal_slots.ts +14 -0
  9. package/index.ts +174 -0
  10. package/package.json +8 -4
  11. package/polyfill-force.ts +8 -0
  12. package/polyfill.ts +11 -0
  13. package/scripts/cldr-raw.ts +70 -0
  14. package/scripts/cldr.ts +29 -0
  15. package/scripts/test262-main-gen.ts +28 -0
  16. package/should-polyfill.ts +21 -0
  17. package/supported-locales.generated.ts +1 -0
  18. package/test262-main.ts +1071 -0
  19. package/tests/index.test.ts +57 -0
  20. package/{locale-data/en.js → tests/locale-data/en.ts} +3 -4
  21. package/{locale-data/fr.js → tests/locale-data/fr.ts} +3 -4
  22. package/tests/locale-data/zh.ts +6 -0
  23. package/tests/supported-locales-of.test.ts +23 -0
  24. package/tsconfig.json +5 -0
  25. package/abstract/GetOperands.d.ts +0 -32
  26. package/abstract/GetOperands.d.ts.map +0 -1
  27. package/abstract/GetOperands.js +0 -50
  28. package/abstract/InitializePluralRules.d.ts +0 -9
  29. package/abstract/InitializePluralRules.d.ts.map +0 -1
  30. package/abstract/InitializePluralRules.js +0 -21
  31. package/abstract/ResolvePlural.d.ts +0 -13
  32. package/abstract/ResolvePlural.d.ts.map +0 -1
  33. package/abstract/ResolvePlural.js +0 -27
  34. package/get_internal_slots.d.ts +0 -3
  35. package/get_internal_slots.d.ts.map +0 -1
  36. package/get_internal_slots.js +0 -12
  37. package/index.d.ts +0 -21
  38. package/index.d.ts.map +0 -1
  39. package/index.js +0 -141
  40. package/lib/abstract/GetOperands.d.ts +0 -32
  41. package/lib/abstract/GetOperands.d.ts.map +0 -1
  42. package/lib/abstract/GetOperands.js +0 -46
  43. package/lib/abstract/InitializePluralRules.d.ts +0 -9
  44. package/lib/abstract/InitializePluralRules.d.ts.map +0 -1
  45. package/lib/abstract/InitializePluralRules.js +0 -17
  46. package/lib/abstract/ResolvePlural.d.ts +0 -13
  47. package/lib/abstract/ResolvePlural.d.ts.map +0 -1
  48. package/lib/abstract/ResolvePlural.js +0 -23
  49. package/lib/get_internal_slots.d.ts +0 -3
  50. package/lib/get_internal_slots.d.ts.map +0 -1
  51. package/lib/get_internal_slots.js +0 -9
  52. package/lib/index.d.ts +0 -21
  53. package/lib/index.d.ts.map +0 -1
  54. package/lib/index.js +0 -138
  55. package/lib/polyfill-force.d.ts +0 -2
  56. package/lib/polyfill-force.d.ts.map +0 -1
  57. package/lib/polyfill-force.js +0 -7
  58. package/lib/polyfill.d.ts +0 -2
  59. package/lib/polyfill.d.ts.map +0 -1
  60. package/lib/polyfill.js +0 -10
  61. package/lib/should-polyfill.d.ts +0 -2
  62. package/lib/should-polyfill.d.ts.map +0 -1
  63. package/lib/should-polyfill.js +0 -18
  64. package/lib/supported-locales.d.ts +0 -2
  65. package/lib/supported-locales.d.ts.map +0 -1
  66. package/lib/supported-locales.js +0 -2
  67. package/locale-data/af.d.ts +0 -1
  68. package/locale-data/af.js +0 -8
  69. package/locale-data/ak.d.ts +0 -1
  70. package/locale-data/ak.js +0 -8
  71. package/locale-data/am.d.ts +0 -1
  72. package/locale-data/am.js +0 -8
  73. package/locale-data/an.d.ts +0 -1
  74. package/locale-data/an.js +0 -8
  75. package/locale-data/ar.d.ts +0 -1
  76. package/locale-data/ar.js +0 -14
  77. package/locale-data/ars.d.ts +0 -1
  78. package/locale-data/ars.js +0 -14
  79. package/locale-data/as.d.ts +0 -1
  80. package/locale-data/as.js +0 -12
  81. package/locale-data/asa.d.ts +0 -1
  82. package/locale-data/asa.js +0 -8
  83. package/locale-data/ast.d.ts +0 -1
  84. package/locale-data/ast.js +0 -9
  85. package/locale-data/az.d.ts +0 -1
  86. package/locale-data/az.js +0 -12
  87. package/locale-data/bal.d.ts +0 -1
  88. package/locale-data/bal.js +0 -7
  89. package/locale-data/be.d.ts +0 -1
  90. package/locale-data/be.js +0 -12
  91. package/locale-data/bem.d.ts +0 -1
  92. package/locale-data/bem.js +0 -8
  93. package/locale-data/bez.d.ts +0 -1
  94. package/locale-data/bez.js +0 -8
  95. package/locale-data/bg.d.ts +0 -1
  96. package/locale-data/bg.js +0 -8
  97. package/locale-data/bho.d.ts +0 -1
  98. package/locale-data/bho.js +0 -8
  99. package/locale-data/bm.d.ts +0 -1
  100. package/locale-data/bm.js +0 -7
  101. package/locale-data/bn.d.ts +0 -1
  102. package/locale-data/bn.js +0 -12
  103. package/locale-data/bo.d.ts +0 -1
  104. package/locale-data/bo.js +0 -7
  105. package/locale-data/br.d.ts +0 -1
  106. package/locale-data/br.js +0 -13
  107. package/locale-data/brx.d.ts +0 -1
  108. package/locale-data/brx.js +0 -8
  109. package/locale-data/bs.d.ts +0 -1
  110. package/locale-data/bs.js +0 -11
  111. package/locale-data/ca.d.ts +0 -1
  112. package/locale-data/ca.js +0 -12
  113. package/locale-data/ce.d.ts +0 -1
  114. package/locale-data/ce.js +0 -8
  115. package/locale-data/ceb.d.ts +0 -1
  116. package/locale-data/ceb.js +0 -9
  117. package/locale-data/cgg.d.ts +0 -1
  118. package/locale-data/cgg.js +0 -8
  119. package/locale-data/chr.d.ts +0 -1
  120. package/locale-data/chr.js +0 -8
  121. package/locale-data/ckb.d.ts +0 -1
  122. package/locale-data/ckb.js +0 -8
  123. package/locale-data/cs.d.ts +0 -1
  124. package/locale-data/cs.js +0 -12
  125. package/locale-data/cy.d.ts +0 -1
  126. package/locale-data/cy.js +0 -18
  127. package/locale-data/da.d.ts +0 -1
  128. package/locale-data/da.js +0 -9
  129. package/locale-data/de.d.ts +0 -1
  130. package/locale-data/de.js +0 -9
  131. package/locale-data/doi.d.ts +0 -1
  132. package/locale-data/doi.js +0 -8
  133. package/locale-data/dsb.d.ts +0 -1
  134. package/locale-data/dsb.js +0 -12
  135. package/locale-data/dv.d.ts +0 -1
  136. package/locale-data/dv.js +0 -8
  137. package/locale-data/dz.d.ts +0 -1
  138. package/locale-data/dz.js +0 -7
  139. package/locale-data/ee.d.ts +0 -1
  140. package/locale-data/ee.js +0 -8
  141. package/locale-data/el.d.ts +0 -1
  142. package/locale-data/el.js +0 -8
  143. package/locale-data/en.d.ts +0 -1
  144. package/locale-data/eo.d.ts +0 -1
  145. package/locale-data/eo.js +0 -8
  146. package/locale-data/es.d.ts +0 -1
  147. package/locale-data/es.js +0 -11
  148. package/locale-data/et.d.ts +0 -1
  149. package/locale-data/et.js +0 -9
  150. package/locale-data/eu.d.ts +0 -1
  151. package/locale-data/eu.js +0 -8
  152. package/locale-data/fa.d.ts +0 -1
  153. package/locale-data/fa.js +0 -8
  154. package/locale-data/ff.d.ts +0 -1
  155. package/locale-data/ff.js +0 -8
  156. package/locale-data/fi.d.ts +0 -1
  157. package/locale-data/fi.js +0 -9
  158. package/locale-data/fil.d.ts +0 -1
  159. package/locale-data/fil.js +0 -9
  160. package/locale-data/fo.d.ts +0 -1
  161. package/locale-data/fo.js +0 -8
  162. package/locale-data/fr.d.ts +0 -1
  163. package/locale-data/fur.d.ts +0 -1
  164. package/locale-data/fur.js +0 -8
  165. package/locale-data/fy.d.ts +0 -1
  166. package/locale-data/fy.js +0 -9
  167. package/locale-data/ga.d.ts +0 -1
  168. package/locale-data/ga.js +0 -13
  169. package/locale-data/gd.d.ts +0 -1
  170. package/locale-data/gd.js +0 -15
  171. package/locale-data/gl.d.ts +0 -1
  172. package/locale-data/gl.js +0 -9
  173. package/locale-data/gsw.d.ts +0 -1
  174. package/locale-data/gsw.js +0 -8
  175. package/locale-data/gu.d.ts +0 -1
  176. package/locale-data/gu.js +0 -12
  177. package/locale-data/guw.d.ts +0 -1
  178. package/locale-data/guw.js +0 -8
  179. package/locale-data/gv.d.ts +0 -1
  180. package/locale-data/gv.js +0 -13
  181. package/locale-data/ha.d.ts +0 -1
  182. package/locale-data/ha.js +0 -8
  183. package/locale-data/haw.d.ts +0 -1
  184. package/locale-data/haw.js +0 -8
  185. package/locale-data/he.d.ts +0 -1
  186. package/locale-data/he.js +0 -12
  187. package/locale-data/hi.d.ts +0 -1
  188. package/locale-data/hi.js +0 -12
  189. package/locale-data/hnj.d.ts +0 -1
  190. package/locale-data/hnj.js +0 -7
  191. package/locale-data/hr.d.ts +0 -1
  192. package/locale-data/hr.js +0 -11
  193. package/locale-data/hsb.d.ts +0 -1
  194. package/locale-data/hsb.js +0 -12
  195. package/locale-data/hu.d.ts +0 -1
  196. package/locale-data/hu.js +0 -8
  197. package/locale-data/hy.d.ts +0 -1
  198. package/locale-data/hy.js +0 -8
  199. package/locale-data/ia.d.ts +0 -1
  200. package/locale-data/ia.js +0 -9
  201. package/locale-data/id.d.ts +0 -1
  202. package/locale-data/id.js +0 -7
  203. package/locale-data/ig.d.ts +0 -1
  204. package/locale-data/ig.js +0 -7
  205. package/locale-data/ii.d.ts +0 -1
  206. package/locale-data/ii.js +0 -7
  207. package/locale-data/io.d.ts +0 -1
  208. package/locale-data/io.js +0 -9
  209. package/locale-data/is.d.ts +0 -1
  210. package/locale-data/is.js +0 -9
  211. package/locale-data/it.d.ts +0 -1
  212. package/locale-data/it.js +0 -11
  213. package/locale-data/iu.d.ts +0 -1
  214. package/locale-data/iu.js +0 -10
  215. package/locale-data/ja.d.ts +0 -1
  216. package/locale-data/ja.js +0 -7
  217. package/locale-data/jbo.d.ts +0 -1
  218. package/locale-data/jbo.js +0 -7
  219. package/locale-data/jgo.d.ts +0 -1
  220. package/locale-data/jgo.js +0 -8
  221. package/locale-data/jmc.d.ts +0 -1
  222. package/locale-data/jmc.js +0 -8
  223. package/locale-data/jv.d.ts +0 -1
  224. package/locale-data/jv.js +0 -7
  225. package/locale-data/jw.d.ts +0 -1
  226. package/locale-data/jw.js +0 -7
  227. package/locale-data/ka.d.ts +0 -1
  228. package/locale-data/ka.js +0 -11
  229. package/locale-data/kab.d.ts +0 -1
  230. package/locale-data/kab.js +0 -8
  231. package/locale-data/kaj.d.ts +0 -1
  232. package/locale-data/kaj.js +0 -8
  233. package/locale-data/kcg.d.ts +0 -1
  234. package/locale-data/kcg.js +0 -8
  235. package/locale-data/kde.d.ts +0 -1
  236. package/locale-data/kde.js +0 -7
  237. package/locale-data/kea.d.ts +0 -1
  238. package/locale-data/kea.js +0 -7
  239. package/locale-data/kk.d.ts +0 -1
  240. package/locale-data/kk.js +0 -9
  241. package/locale-data/kkj.d.ts +0 -1
  242. package/locale-data/kkj.js +0 -8
  243. package/locale-data/kl.d.ts +0 -1
  244. package/locale-data/kl.js +0 -8
  245. package/locale-data/km.d.ts +0 -1
  246. package/locale-data/km.js +0 -7
  247. package/locale-data/kn.d.ts +0 -1
  248. package/locale-data/kn.js +0 -8
  249. package/locale-data/ko.d.ts +0 -1
  250. package/locale-data/ko.js +0 -7
  251. package/locale-data/ks.d.ts +0 -1
  252. package/locale-data/ks.js +0 -8
  253. package/locale-data/ksb.d.ts +0 -1
  254. package/locale-data/ksb.js +0 -8
  255. package/locale-data/ksh.d.ts +0 -1
  256. package/locale-data/ksh.js +0 -10
  257. package/locale-data/ku.d.ts +0 -1
  258. package/locale-data/ku.js +0 -8
  259. package/locale-data/kw.d.ts +0 -1
  260. package/locale-data/kw.js +0 -16
  261. package/locale-data/ky.d.ts +0 -1
  262. package/locale-data/ky.js +0 -8
  263. package/locale-data/lag.d.ts +0 -1
  264. package/locale-data/lag.js +0 -11
  265. package/locale-data/lb.d.ts +0 -1
  266. package/locale-data/lb.js +0 -8
  267. package/locale-data/lg.d.ts +0 -1
  268. package/locale-data/lg.js +0 -8
  269. package/locale-data/lij.d.ts +0 -1
  270. package/locale-data/lij.js +0 -9
  271. package/locale-data/lkt.d.ts +0 -1
  272. package/locale-data/lkt.js +0 -7
  273. package/locale-data/ln.d.ts +0 -1
  274. package/locale-data/ln.js +0 -8
  275. package/locale-data/lo.d.ts +0 -1
  276. package/locale-data/lo.js +0 -8
  277. package/locale-data/lt.d.ts +0 -1
  278. package/locale-data/lt.js +0 -12
  279. package/locale-data/lv.d.ts +0 -1
  280. package/locale-data/lv.js +0 -11
  281. package/locale-data/mas.d.ts +0 -1
  282. package/locale-data/mas.js +0 -8
  283. package/locale-data/mg.d.ts +0 -1
  284. package/locale-data/mg.js +0 -8
  285. package/locale-data/mgo.d.ts +0 -1
  286. package/locale-data/mgo.js +0 -8
  287. package/locale-data/mk.d.ts +0 -1
  288. package/locale-data/mk.js +0 -12
  289. package/locale-data/ml.d.ts +0 -1
  290. package/locale-data/ml.js +0 -8
  291. package/locale-data/mn.d.ts +0 -1
  292. package/locale-data/mn.js +0 -8
  293. package/locale-data/mo.d.ts +0 -1
  294. package/locale-data/mo.js +0 -11
  295. package/locale-data/mr.d.ts +0 -1
  296. package/locale-data/mr.js +0 -11
  297. package/locale-data/ms.d.ts +0 -1
  298. package/locale-data/ms.js +0 -8
  299. package/locale-data/mt.d.ts +0 -1
  300. package/locale-data/mt.js +0 -12
  301. package/locale-data/my.d.ts +0 -1
  302. package/locale-data/my.js +0 -7
  303. package/locale-data/nah.d.ts +0 -1
  304. package/locale-data/nah.js +0 -8
  305. package/locale-data/naq.d.ts +0 -1
  306. package/locale-data/naq.js +0 -10
  307. package/locale-data/nb.d.ts +0 -1
  308. package/locale-data/nb.js +0 -8
  309. package/locale-data/nd.d.ts +0 -1
  310. package/locale-data/nd.js +0 -8
  311. package/locale-data/ne.d.ts +0 -1
  312. package/locale-data/ne.js +0 -9
  313. package/locale-data/nl.d.ts +0 -1
  314. package/locale-data/nl.js +0 -9
  315. package/locale-data/nn.d.ts +0 -1
  316. package/locale-data/nn.js +0 -8
  317. package/locale-data/nnh.d.ts +0 -1
  318. package/locale-data/nnh.js +0 -8
  319. package/locale-data/no.d.ts +0 -1
  320. package/locale-data/no.js +0 -8
  321. package/locale-data/nqo.d.ts +0 -1
  322. package/locale-data/nqo.js +0 -7
  323. package/locale-data/nr.d.ts +0 -1
  324. package/locale-data/nr.js +0 -8
  325. package/locale-data/nso.d.ts +0 -1
  326. package/locale-data/nso.js +0 -8
  327. package/locale-data/ny.d.ts +0 -1
  328. package/locale-data/ny.js +0 -8
  329. package/locale-data/nyn.d.ts +0 -1
  330. package/locale-data/nyn.js +0 -8
  331. package/locale-data/om.d.ts +0 -1
  332. package/locale-data/om.js +0 -8
  333. package/locale-data/or.d.ts +0 -1
  334. package/locale-data/or.js +0 -13
  335. package/locale-data/os.d.ts +0 -1
  336. package/locale-data/os.js +0 -8
  337. package/locale-data/osa.d.ts +0 -1
  338. package/locale-data/osa.js +0 -7
  339. package/locale-data/pa.d.ts +0 -1
  340. package/locale-data/pa.js +0 -8
  341. package/locale-data/pap.d.ts +0 -1
  342. package/locale-data/pap.js +0 -8
  343. package/locale-data/pcm.d.ts +0 -1
  344. package/locale-data/pcm.js +0 -8
  345. package/locale-data/pl.d.ts +0 -1
  346. package/locale-data/pl.js +0 -12
  347. package/locale-data/prg.d.ts +0 -1
  348. package/locale-data/prg.js +0 -11
  349. package/locale-data/ps.d.ts +0 -1
  350. package/locale-data/ps.js +0 -8
  351. package/locale-data/pt-PT.d.ts +0 -1
  352. package/locale-data/pt-PT.js +0 -11
  353. package/locale-data/pt.d.ts +0 -1
  354. package/locale-data/pt.js +0 -11
  355. package/locale-data/rm.d.ts +0 -1
  356. package/locale-data/rm.js +0 -8
  357. package/locale-data/ro.d.ts +0 -1
  358. package/locale-data/ro.js +0 -11
  359. package/locale-data/rof.d.ts +0 -1
  360. package/locale-data/rof.js +0 -8
  361. package/locale-data/ru.d.ts +0 -1
  362. package/locale-data/ru.js +0 -12
  363. package/locale-data/rwk.d.ts +0 -1
  364. package/locale-data/rwk.js +0 -8
  365. package/locale-data/sah.d.ts +0 -1
  366. package/locale-data/sah.js +0 -7
  367. package/locale-data/saq.d.ts +0 -1
  368. package/locale-data/saq.js +0 -8
  369. package/locale-data/sat.d.ts +0 -1
  370. package/locale-data/sat.js +0 -10
  371. package/locale-data/sc.d.ts +0 -1
  372. package/locale-data/sc.js +0 -9
  373. package/locale-data/scn.d.ts +0 -1
  374. package/locale-data/scn.js +0 -9
  375. package/locale-data/sd.d.ts +0 -1
  376. package/locale-data/sd.js +0 -8
  377. package/locale-data/sdh.d.ts +0 -1
  378. package/locale-data/sdh.js +0 -8
  379. package/locale-data/se.d.ts +0 -1
  380. package/locale-data/se.js +0 -10
  381. package/locale-data/seh.d.ts +0 -1
  382. package/locale-data/seh.js +0 -8
  383. package/locale-data/ses.d.ts +0 -1
  384. package/locale-data/ses.js +0 -7
  385. package/locale-data/sg.d.ts +0 -1
  386. package/locale-data/sg.js +0 -7
  387. package/locale-data/sh.d.ts +0 -1
  388. package/locale-data/sh.js +0 -11
  389. package/locale-data/shi.d.ts +0 -1
  390. package/locale-data/shi.js +0 -11
  391. package/locale-data/si.d.ts +0 -1
  392. package/locale-data/si.js +0 -9
  393. package/locale-data/sk.d.ts +0 -1
  394. package/locale-data/sk.js +0 -12
  395. package/locale-data/sl.d.ts +0 -1
  396. package/locale-data/sl.js +0 -12
  397. package/locale-data/sma.d.ts +0 -1
  398. package/locale-data/sma.js +0 -10
  399. package/locale-data/smi.d.ts +0 -1
  400. package/locale-data/smi.js +0 -10
  401. package/locale-data/smj.d.ts +0 -1
  402. package/locale-data/smj.js +0 -10
  403. package/locale-data/smn.d.ts +0 -1
  404. package/locale-data/smn.js +0 -10
  405. package/locale-data/sms.d.ts +0 -1
  406. package/locale-data/sms.js +0 -10
  407. package/locale-data/sn.d.ts +0 -1
  408. package/locale-data/sn.js +0 -8
  409. package/locale-data/so.d.ts +0 -1
  410. package/locale-data/so.js +0 -8
  411. package/locale-data/sq.d.ts +0 -1
  412. package/locale-data/sq.js +0 -11
  413. package/locale-data/sr.d.ts +0 -1
  414. package/locale-data/sr.js +0 -11
  415. package/locale-data/ss.d.ts +0 -1
  416. package/locale-data/ss.js +0 -8
  417. package/locale-data/ssy.d.ts +0 -1
  418. package/locale-data/ssy.js +0 -8
  419. package/locale-data/st.d.ts +0 -1
  420. package/locale-data/st.js +0 -8
  421. package/locale-data/su.d.ts +0 -1
  422. package/locale-data/su.js +0 -7
  423. package/locale-data/sv.d.ts +0 -1
  424. package/locale-data/sv.js +0 -9
  425. package/locale-data/sw.d.ts +0 -1
  426. package/locale-data/sw.js +0 -9
  427. package/locale-data/syr.d.ts +0 -1
  428. package/locale-data/syr.js +0 -8
  429. package/locale-data/ta.d.ts +0 -1
  430. package/locale-data/ta.js +0 -8
  431. package/locale-data/te.d.ts +0 -1
  432. package/locale-data/te.js +0 -8
  433. package/locale-data/teo.d.ts +0 -1
  434. package/locale-data/teo.js +0 -8
  435. package/locale-data/th.d.ts +0 -1
  436. package/locale-data/th.js +0 -7
  437. package/locale-data/ti.d.ts +0 -1
  438. package/locale-data/ti.js +0 -8
  439. package/locale-data/tig.d.ts +0 -1
  440. package/locale-data/tig.js +0 -8
  441. package/locale-data/tk.d.ts +0 -1
  442. package/locale-data/tk.js +0 -9
  443. package/locale-data/tl.d.ts +0 -1
  444. package/locale-data/tl.js +0 -9
  445. package/locale-data/tn.d.ts +0 -1
  446. package/locale-data/tn.js +0 -8
  447. package/locale-data/to.d.ts +0 -1
  448. package/locale-data/to.js +0 -7
  449. package/locale-data/tpi.d.ts +0 -1
  450. package/locale-data/tpi.js +0 -7
  451. package/locale-data/tr.d.ts +0 -1
  452. package/locale-data/tr.js +0 -8
  453. package/locale-data/ts.d.ts +0 -1
  454. package/locale-data/ts.js +0 -8
  455. package/locale-data/tzm.d.ts +0 -1
  456. package/locale-data/tzm.js +0 -9
  457. package/locale-data/ug.d.ts +0 -1
  458. package/locale-data/ug.js +0 -8
  459. package/locale-data/uk.d.ts +0 -1
  460. package/locale-data/uk.js +0 -12
  461. package/locale-data/und.d.ts +0 -1
  462. package/locale-data/und.js +0 -7
  463. package/locale-data/ur.d.ts +0 -1
  464. package/locale-data/ur.js +0 -9
  465. package/locale-data/uz.d.ts +0 -1
  466. package/locale-data/uz.js +0 -8
  467. package/locale-data/ve.d.ts +0 -1
  468. package/locale-data/ve.js +0 -8
  469. package/locale-data/vi.d.ts +0 -1
  470. package/locale-data/vi.js +0 -8
  471. package/locale-data/vo.d.ts +0 -1
  472. package/locale-data/vo.js +0 -8
  473. package/locale-data/vun.d.ts +0 -1
  474. package/locale-data/vun.js +0 -8
  475. package/locale-data/wa.d.ts +0 -1
  476. package/locale-data/wa.js +0 -8
  477. package/locale-data/wae.d.ts +0 -1
  478. package/locale-data/wae.js +0 -8
  479. package/locale-data/wo.d.ts +0 -1
  480. package/locale-data/wo.js +0 -7
  481. package/locale-data/xh.d.ts +0 -1
  482. package/locale-data/xh.js +0 -8
  483. package/locale-data/xog.d.ts +0 -1
  484. package/locale-data/xog.js +0 -8
  485. package/locale-data/yi.d.ts +0 -1
  486. package/locale-data/yi.js +0 -9
  487. package/locale-data/yo.d.ts +0 -1
  488. package/locale-data/yo.js +0 -7
  489. package/locale-data/yue.d.ts +0 -1
  490. package/locale-data/yue.js +0 -7
  491. package/locale-data/zh.d.ts +0 -1
  492. package/locale-data/zh.js +0 -7
  493. package/locale-data/zu.d.ts +0 -1
  494. package/locale-data/zu.js +0 -8
  495. package/polyfill-force.d.ts +0 -2
  496. package/polyfill-force.d.ts.map +0 -1
  497. package/polyfill-force.js +0 -9
  498. package/polyfill.d.ts +0 -2
  499. package/polyfill.d.ts.map +0 -1
  500. package/polyfill.iife.js +0 -2753
  501. package/polyfill.js +0 -12
  502. package/should-polyfill.d.ts +0 -2
  503. package/should-polyfill.d.ts.map +0 -1
  504. package/should-polyfill.js +0 -22
  505. package/supported-locales.d.ts +0 -2
  506. package/supported-locales.d.ts.map +0 -1
  507. package/supported-locales.js +0 -5
package/BUILD ADDED
@@ -0,0 +1,465 @@
1
+ load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
2
+ load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
3
+ load("@aspect_rules_js//npm/private:npm_package.bzl", "npm_package")
4
+ load("@aspect_rules_ts//ts:defs.bzl", "ts_project")
5
+ load("@npm//:defs.bzl", "npm_link_all_packages")
6
+ load("@npm//:test262-harness/package_json.bzl", test262_harness_bin = "bin")
7
+ load("//tools:index.bzl", "bundle_karma_tests", "check_format", "generate_src_file", "package_json_test", "ts_compile", "ts_script")
8
+ load("//tools:jest.bzl", "jest_test")
9
+
10
+ npm_link_all_packages(name = "node_modules")
11
+
12
+ ALL_LOCALES = [
13
+ "af",
14
+ "ak",
15
+ "am",
16
+ "an",
17
+ "ar",
18
+ "ars",
19
+ "as",
20
+ "asa",
21
+ "ast",
22
+ "az",
23
+ "bal",
24
+ "be",
25
+ "bem",
26
+ "bez",
27
+ "bg",
28
+ "bho",
29
+ "bm",
30
+ "bn",
31
+ "bo",
32
+ "br",
33
+ "brx",
34
+ "bs",
35
+ "ca",
36
+ "ce",
37
+ "ceb",
38
+ "cgg",
39
+ "chr",
40
+ "ckb",
41
+ "cs",
42
+ "cy",
43
+ "da",
44
+ "de",
45
+ "doi",
46
+ "dsb",
47
+ "dv",
48
+ "dz",
49
+ "ee",
50
+ "el",
51
+ "en",
52
+ "eo",
53
+ "es",
54
+ "et",
55
+ "eu",
56
+ "fa",
57
+ "ff",
58
+ "fi",
59
+ "fil",
60
+ "fo",
61
+ "fr",
62
+ "fur",
63
+ "fy",
64
+ "ga",
65
+ "gd",
66
+ "gl",
67
+ "gsw",
68
+ "gu",
69
+ "guw",
70
+ "gv",
71
+ "ha",
72
+ "haw",
73
+ "he",
74
+ "hi",
75
+ "hnj",
76
+ "hr",
77
+ "hsb",
78
+ "hu",
79
+ "hy",
80
+ "ia",
81
+ "id",
82
+ "ig",
83
+ "ii",
84
+ "io",
85
+ "is",
86
+ "it",
87
+ "iu",
88
+ "ja",
89
+ "jbo",
90
+ "jgo",
91
+ "jmc",
92
+ "jv",
93
+ "jw",
94
+ "ka",
95
+ "kab",
96
+ "kaj",
97
+ "kcg",
98
+ "kde",
99
+ "kea",
100
+ "kk",
101
+ "kkj",
102
+ "kl",
103
+ "km",
104
+ "kn",
105
+ "ko",
106
+ "ks",
107
+ "ksb",
108
+ "ksh",
109
+ "ku",
110
+ "kw",
111
+ "ky",
112
+ "lag",
113
+ "lb",
114
+ "lg",
115
+ "lij",
116
+ "lkt",
117
+ "ln",
118
+ "lo",
119
+ "lt",
120
+ "lv",
121
+ "mas",
122
+ "mg",
123
+ "mgo",
124
+ "mk",
125
+ "ml",
126
+ "mn",
127
+ "mo",
128
+ "mr",
129
+ "ms",
130
+ "mt",
131
+ "my",
132
+ "nah",
133
+ "naq",
134
+ "nb",
135
+ "nd",
136
+ "ne",
137
+ "nl",
138
+ "nn",
139
+ "nnh",
140
+ "no",
141
+ "nqo",
142
+ "nr",
143
+ "nso",
144
+ "ny",
145
+ "nyn",
146
+ "om",
147
+ "or",
148
+ "os",
149
+ "osa",
150
+ "pa",
151
+ "pap",
152
+ "pcm",
153
+ "pl",
154
+ "prg",
155
+ "ps",
156
+ "pt",
157
+ "pt-PT",
158
+ "rm",
159
+ "ro",
160
+ "rof",
161
+ "ru",
162
+ "rwk",
163
+ "sah",
164
+ "saq",
165
+ "sat",
166
+ "sc",
167
+ "scn",
168
+ "sd",
169
+ "sdh",
170
+ "se",
171
+ "seh",
172
+ "ses",
173
+ "sg",
174
+ "sh",
175
+ "shi",
176
+ "si",
177
+ "sk",
178
+ "sl",
179
+ "sma",
180
+ "smi",
181
+ "smj",
182
+ "smn",
183
+ "sms",
184
+ "sn",
185
+ "so",
186
+ "sq",
187
+ "sr",
188
+ "ss",
189
+ "ssy",
190
+ "st",
191
+ "su",
192
+ "sv",
193
+ "sw",
194
+ "syr",
195
+ "ta",
196
+ "te",
197
+ "teo",
198
+ "th",
199
+ "ti",
200
+ "tig",
201
+ "tk",
202
+ "tl",
203
+ "tn",
204
+ "to",
205
+ "tpi",
206
+ "tr",
207
+ "ts",
208
+ "tzm",
209
+ "ug",
210
+ "uk",
211
+ "und",
212
+ "ur",
213
+ "uz",
214
+ "ve",
215
+ "vi",
216
+ "vo",
217
+ "vun",
218
+ "wa",
219
+ "wae",
220
+ "wo",
221
+ "xh",
222
+ "xog",
223
+ "yi",
224
+ "yo",
225
+ "yue",
226
+ "zh",
227
+ "zu",
228
+ ]
229
+
230
+ PACKAGE_NAME = "intl-pluralrules"
231
+
232
+ TEST_LOCALES = [
233
+ "en",
234
+ "zh",
235
+ "fr",
236
+ ]
237
+
238
+ TEST_LOCALE_DATA = ["tests/locale-data/%s.ts" % locale for locale in TEST_LOCALES]
239
+
240
+ npm_package(
241
+ name = PACKAGE_NAME,
242
+ srcs = [
243
+ "LICENSE.md",
244
+ "README.md",
245
+ "package.json",
246
+ ":dist",
247
+ ":locale-data",
248
+ # polyfill-library uses this
249
+ "polyfill.iife.js",
250
+ ],
251
+ package = "@formatjs/%s" % PACKAGE_NAME,
252
+ visibility = ["//visibility:public"],
253
+ )
254
+
255
+ SRCS = glob(
256
+ [
257
+ "*.ts",
258
+ "abstract/*.ts",
259
+ ],
260
+ exclude = ["test*.*"],
261
+ )
262
+
263
+ TESTS = glob([
264
+ "tests/*.test.ts",
265
+ ])
266
+
267
+ SRC_DEPS = [
268
+ ":node_modules/@formatjs/ecma402-abstract",
269
+ ":node_modules/@formatjs/intl-localematcher",
270
+ ]
271
+
272
+ ts_compile(
273
+ name = "dist",
274
+ srcs = SRCS,
275
+ skip_esm = False,
276
+ deps = SRC_DEPS,
277
+ )
278
+
279
+ jest_test(
280
+ name = "unit",
281
+ srcs = SRCS + TESTS + TEST_LOCALE_DATA,
282
+ deps = SRC_DEPS + [
283
+ ":node_modules/@formatjs/intl-getcanonicallocales",
284
+ ":node_modules/@formatjs/intl-locale",
285
+ "//:node_modules/@types/node",
286
+ ],
287
+ )
288
+
289
+ # CLDR
290
+ CLDR_RAW_FILES = ["cldr-raw/%s.js" % locale for locale in ALL_LOCALES]
291
+
292
+ ts_script(
293
+ name = "cldr-raw",
294
+ outs = CLDR_RAW_FILES,
295
+ args = [
296
+ "--outDir",
297
+ package_name() + "/cldr-raw",
298
+ ],
299
+ data = [
300
+ ":node_modules/@formatjs/ecma402-abstract",
301
+ "//:node_modules/@types/serialize-javascript",
302
+ "//:node_modules/cldr-core",
303
+ "//:node_modules/make-plural-compiler",
304
+ "//:node_modules/serialize-javascript",
305
+ ],
306
+ entry_point = "scripts/cldr-raw.ts",
307
+ )
308
+
309
+ genrule(
310
+ name = "supported-locales-gen",
311
+ srcs = [],
312
+ outs = ["supported-locales.tmp"],
313
+ cmd = "echo 'export const supportedLocales: string[] = %s' > $@" % ALL_LOCALES,
314
+ )
315
+
316
+ ts_script(
317
+ name = "locale-data",
318
+ outs = ["locale-data/%s.js" % locale for locale in ALL_LOCALES] + ["locale-data/%s.d.ts" % locale for locale in ALL_LOCALES],
319
+ args = [
320
+ "--cldrFile %s/%s" % (
321
+ package_name(),
322
+ f,
323
+ )
324
+ for f in CLDR_RAW_FILES
325
+ ] + [
326
+ "--outDir",
327
+ package_name() + "/locale-data",
328
+ ],
329
+ data = CLDR_RAW_FILES,
330
+ entry_point = "scripts/cldr.ts",
331
+ visibility = ["//visibility:public"],
332
+ )
333
+
334
+ [genrule(
335
+ name = "tests-locale-data-%s" % locale,
336
+ srcs = ["cldr-raw/%s.js" % locale],
337
+ outs = ["tests-locale-data/%s.ts" % locale],
338
+ cmd = "printf \"%s %s\n\" \"/* @generated */\n// prettier-ignore\n// @ts-nocheck\nexport default\" \"$$(cat $<)\" > $@",
339
+ ) for locale in TEST_LOCALES]
340
+
341
+ generate_src_file(
342
+ name = "test262-main",
343
+ src = "test262-main.ts",
344
+ args = [
345
+ "--cldrFile %s/%s" % (
346
+ package_name(),
347
+ f,
348
+ )
349
+ for f in CLDR_RAW_FILES
350
+ ],
351
+ data = [":cldr-raw"],
352
+ entry_point = "scripts/test262-main-gen.ts",
353
+ visibility = [
354
+ "//:__pkg__",
355
+ ],
356
+ )
357
+
358
+ # Test262
359
+ ts_project(
360
+ name = "test262-main-bundle",
361
+ srcs = SRCS + ["test262-main.ts"],
362
+ declaration = True,
363
+ declaration_map = True,
364
+ extends =
365
+ "//:tsconfig",
366
+ out_dir = "test262",
367
+ resolve_json_module = True,
368
+ tsconfig = "//:tsconfig.es6",
369
+ visibility = ["//visibility:public"],
370
+ deps = SRC_DEPS,
371
+ )
372
+
373
+ esbuild(
374
+ name = "test262-polyfill",
375
+ entry_point = "test262/test262-main.js",
376
+ target = "es6",
377
+ deps = [
378
+ ":test262-main-bundle",
379
+ ] + SRC_DEPS,
380
+ )
381
+
382
+ test262_harness_bin.test262_harness_test(
383
+ name = "test262",
384
+ size = "large",
385
+ data = [
386
+ "test262-polyfill.js",
387
+ "@com_github_tc39_test262//:test262-harness-copy",
388
+ "@com_github_tc39_test262//:test262-pluralrules-copy",
389
+ ],
390
+ args = [
391
+ "--reporter-keys",
392
+ "file,attrs,result",
393
+ "--errorForFailures",
394
+ "--timeout",
395
+ "30000",
396
+ "--prelude",
397
+ "$(rootpath test262-polyfill.js)",
398
+ "--test262Dir",
399
+ "../com_github_tc39_test262",
400
+ "../com_github_tc39_test262/test/intl402/PluralRules/**/*.js",
401
+ ],
402
+ )
403
+
404
+ bundle_karma_tests(
405
+ name = "bundled-karma-tests",
406
+ srcs = SRCS,
407
+ data = TEST_LOCALE_DATA,
408
+ esbuild_deps = [
409
+ ":node_modules/@formatjs/intl-getcanonicallocales",
410
+ ":node_modules/@formatjs/intl-locale",
411
+ ],
412
+ tests = TESTS,
413
+ deps = SRC_DEPS + [
414
+ "//:node_modules/@types/node",
415
+ ],
416
+ )
417
+
418
+ write_source_files(
419
+ name = "generated-files",
420
+ files = {
421
+ "supported-locales.generated.ts": ":supported-locales-gen",
422
+ "tsconfig.json": "//tools:tsconfig.golden.json",
423
+ },
424
+ visibility = ["//:__pkg__"],
425
+ )
426
+
427
+ write_source_files(
428
+ name = "generated-test-files",
429
+ files = {
430
+ "tests/locale-data/%s.ts" % k: ":tests-locale-data/%s.ts" % k
431
+ for k in TEST_LOCALES
432
+ },
433
+ visibility = ["//:__pkg__"],
434
+ )
435
+
436
+ esbuild(
437
+ name = "polyfill.iife",
438
+ entry_point = "lib/polyfill.js",
439
+ target = "es6",
440
+ # TODO: fix this and set it back to es5
441
+ deps = [
442
+ ":dist-esm",
443
+ "//:node_modules/tslib",
444
+ ] + SRC_DEPS,
445
+ )
446
+
447
+ check_format(
448
+ name = "prettier",
449
+ srcs = glob(
450
+ [
451
+ "**/*",
452
+ ],
453
+ exclude = [
454
+ "CHANGELOG.md",
455
+ "tests/locale-data/*",
456
+ "test262-main.ts",
457
+ "supported-locales.generated.ts",
458
+ ],
459
+ ),
460
+ )
461
+
462
+ package_json_test(
463
+ name = "package_json_test",
464
+ deps = SRC_DEPS,
465
+ )