@formatjs/intl-pluralrules 6.3.15 → 6.3.16
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.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/index.d.ts +1 -0
- package/index.js +5 -62
- package/index.js.map +1 -1
- package/locale-data/af.d.ts +0 -0
- package/locale-data/af.js +0 -0
- package/locale-data/ak.d.ts +0 -0
- package/locale-data/ak.js +0 -0
- package/locale-data/am.d.ts +0 -0
- package/locale-data/am.js +0 -0
- package/locale-data/an.d.ts +0 -0
- package/locale-data/an.js +0 -0
- package/locale-data/ar.d.ts +0 -0
- package/locale-data/ar.js +0 -0
- package/locale-data/ars.d.ts +0 -0
- package/locale-data/ars.js +0 -0
- package/locale-data/as.d.ts +0 -0
- package/locale-data/as.js +0 -0
- package/locale-data/asa.d.ts +0 -0
- package/locale-data/asa.js +0 -0
- package/locale-data/ast.d.ts +0 -0
- package/locale-data/ast.js +0 -0
- package/locale-data/az.d.ts +0 -0
- package/locale-data/az.js +0 -0
- package/locale-data/bal.d.ts +0 -0
- package/locale-data/bal.js +0 -0
- package/locale-data/be.d.ts +0 -0
- package/locale-data/be.js +0 -0
- package/locale-data/bem.d.ts +0 -0
- package/locale-data/bem.js +0 -0
- package/locale-data/bez.d.ts +0 -0
- package/locale-data/bez.js +0 -0
- package/locale-data/bg.d.ts +0 -0
- package/locale-data/bg.js +0 -0
- package/locale-data/bho.d.ts +0 -0
- package/locale-data/bho.js +0 -0
- package/locale-data/blo.d.ts +0 -0
- package/locale-data/blo.js +0 -0
- package/locale-data/bm.d.ts +0 -0
- package/locale-data/bm.js +0 -0
- package/locale-data/bn.d.ts +0 -0
- package/locale-data/bn.js +0 -0
- package/locale-data/bo.d.ts +0 -0
- package/locale-data/bo.js +0 -0
- package/locale-data/br.d.ts +0 -0
- package/locale-data/br.js +0 -0
- package/locale-data/brx.d.ts +0 -0
- package/locale-data/brx.js +0 -0
- package/locale-data/bs.d.ts +0 -0
- package/locale-data/bs.js +0 -0
- package/locale-data/ca.d.ts +0 -0
- package/locale-data/ca.js +0 -0
- package/locale-data/ce.d.ts +0 -0
- package/locale-data/ce.js +0 -0
- package/locale-data/ceb.d.ts +0 -0
- package/locale-data/ceb.js +0 -0
- package/locale-data/cgg.d.ts +0 -0
- package/locale-data/cgg.js +0 -0
- package/locale-data/chr.d.ts +0 -0
- package/locale-data/chr.js +0 -0
- package/locale-data/ckb.d.ts +0 -0
- package/locale-data/ckb.js +0 -0
- package/locale-data/cs.d.ts +0 -0
- package/locale-data/cs.js +0 -0
- package/locale-data/csw.d.ts +0 -0
- package/locale-data/csw.js +0 -0
- package/locale-data/cv.d.ts +0 -0
- package/locale-data/cv.js +0 -0
- package/locale-data/cy.d.ts +0 -0
- package/locale-data/cy.js +0 -0
- package/locale-data/da.d.ts +0 -0
- package/locale-data/da.js +0 -0
- package/locale-data/de.d.ts +0 -0
- package/locale-data/de.js +0 -0
- package/locale-data/doi.d.ts +0 -0
- package/locale-data/doi.js +0 -0
- package/locale-data/dsb.d.ts +0 -0
- package/locale-data/dsb.js +0 -0
- package/locale-data/dv.d.ts +0 -0
- package/locale-data/dv.js +0 -0
- package/locale-data/dz.d.ts +0 -0
- package/locale-data/dz.js +0 -0
- package/locale-data/ee.d.ts +0 -0
- package/locale-data/ee.js +0 -0
- package/locale-data/el.d.ts +0 -0
- package/locale-data/el.js +0 -0
- package/locale-data/en.d.ts +0 -0
- package/locale-data/en.js +0 -0
- package/locale-data/eo.d.ts +0 -0
- package/locale-data/eo.js +0 -0
- package/locale-data/es.d.ts +0 -0
- package/locale-data/es.js +0 -0
- package/locale-data/et.d.ts +0 -0
- package/locale-data/et.js +0 -0
- package/locale-data/eu.d.ts +0 -0
- package/locale-data/eu.js +0 -0
- package/locale-data/fa.d.ts +0 -0
- package/locale-data/fa.js +0 -0
- package/locale-data/ff.d.ts +0 -0
- package/locale-data/ff.js +0 -0
- package/locale-data/fi.d.ts +0 -0
- package/locale-data/fi.js +0 -0
- package/locale-data/fil.d.ts +0 -0
- package/locale-data/fil.js +0 -0
- package/locale-data/fo.d.ts +0 -0
- package/locale-data/fo.js +0 -0
- package/locale-data/fr.d.ts +0 -0
- package/locale-data/fr.js +0 -0
- package/locale-data/fur.d.ts +0 -0
- package/locale-data/fur.js +0 -0
- package/locale-data/fy.d.ts +0 -0
- package/locale-data/fy.js +0 -0
- package/locale-data/ga.d.ts +0 -0
- package/locale-data/ga.js +0 -0
- package/locale-data/gd.d.ts +0 -0
- package/locale-data/gd.js +0 -0
- package/locale-data/gl.d.ts +0 -0
- package/locale-data/gl.js +0 -0
- package/locale-data/gsw.d.ts +0 -0
- package/locale-data/gsw.js +0 -0
- package/locale-data/gu.d.ts +0 -0
- package/locale-data/gu.js +0 -0
- package/locale-data/guw.d.ts +0 -0
- package/locale-data/guw.js +0 -0
- package/locale-data/gv.d.ts +0 -0
- package/locale-data/gv.js +0 -0
- package/locale-data/ha.d.ts +0 -0
- package/locale-data/ha.js +0 -0
- package/locale-data/haw.d.ts +0 -0
- package/locale-data/haw.js +0 -0
- package/locale-data/he.d.ts +0 -0
- package/locale-data/he.js +0 -0
- package/locale-data/hi.d.ts +0 -0
- package/locale-data/hi.js +0 -0
- package/locale-data/hnj.d.ts +0 -0
- package/locale-data/hnj.js +0 -0
- package/locale-data/hr.d.ts +0 -0
- package/locale-data/hr.js +0 -0
- package/locale-data/hsb.d.ts +0 -0
- package/locale-data/hsb.js +0 -0
- package/locale-data/hu.d.ts +0 -0
- package/locale-data/hu.js +0 -0
- package/locale-data/hy.d.ts +0 -0
- package/locale-data/hy.js +0 -0
- package/locale-data/ia.d.ts +0 -0
- package/locale-data/ia.js +0 -0
- package/locale-data/id.d.ts +0 -0
- package/locale-data/id.js +0 -0
- package/locale-data/ie.d.ts +0 -0
- package/locale-data/ie.js +0 -0
- package/locale-data/ig.d.ts +0 -0
- package/locale-data/ig.js +0 -0
- package/locale-data/ii.d.ts +0 -0
- package/locale-data/ii.js +0 -0
- package/locale-data/io.d.ts +0 -0
- package/locale-data/io.js +0 -0
- package/locale-data/is.d.ts +0 -0
- package/locale-data/is.js +0 -0
- package/locale-data/it.d.ts +0 -0
- package/locale-data/it.js +0 -0
- package/locale-data/iu.d.ts +0 -0
- package/locale-data/iu.js +0 -0
- package/locale-data/ja.d.ts +0 -0
- package/locale-data/ja.js +0 -0
- package/locale-data/jbo.d.ts +0 -0
- package/locale-data/jbo.js +0 -0
- package/locale-data/jgo.d.ts +0 -0
- package/locale-data/jgo.js +0 -0
- package/locale-data/jmc.d.ts +0 -0
- package/locale-data/jmc.js +0 -0
- package/locale-data/jv.d.ts +0 -0
- package/locale-data/jv.js +0 -0
- package/locale-data/jw.d.ts +0 -0
- package/locale-data/jw.js +0 -0
- package/locale-data/ka.d.ts +0 -0
- package/locale-data/ka.js +0 -0
- package/locale-data/kab.d.ts +0 -0
- package/locale-data/kab.js +0 -0
- package/locale-data/kaj.d.ts +0 -0
- package/locale-data/kaj.js +0 -0
- package/locale-data/kcg.d.ts +0 -0
- package/locale-data/kcg.js +0 -0
- package/locale-data/kde.d.ts +0 -0
- package/locale-data/kde.js +0 -0
- package/locale-data/kea.d.ts +0 -0
- package/locale-data/kea.js +0 -0
- package/locale-data/kk.d.ts +0 -0
- package/locale-data/kk.js +0 -0
- package/locale-data/kkj.d.ts +0 -0
- package/locale-data/kkj.js +0 -0
- package/locale-data/kl.d.ts +0 -0
- package/locale-data/kl.js +0 -0
- package/locale-data/km.d.ts +0 -0
- package/locale-data/km.js +0 -0
- package/locale-data/kn.d.ts +0 -0
- package/locale-data/kn.js +0 -0
- package/locale-data/ko.d.ts +0 -0
- package/locale-data/ko.js +0 -0
- package/locale-data/kok-Latn.d.ts +0 -0
- package/locale-data/kok-Latn.js +0 -0
- package/locale-data/kok.d.ts +0 -0
- package/locale-data/kok.js +0 -0
- package/locale-data/ks.d.ts +0 -0
- package/locale-data/ks.js +0 -0
- package/locale-data/ksb.d.ts +0 -0
- package/locale-data/ksb.js +0 -0
- package/locale-data/ksh.d.ts +0 -0
- package/locale-data/ksh.js +0 -0
- package/locale-data/ku.d.ts +0 -0
- package/locale-data/ku.js +0 -0
- package/locale-data/kw.d.ts +0 -0
- package/locale-data/kw.js +0 -0
- package/locale-data/ky.d.ts +0 -0
- package/locale-data/ky.js +0 -0
- package/locale-data/lag.d.ts +0 -0
- package/locale-data/lag.js +0 -0
- package/locale-data/lb.d.ts +0 -0
- package/locale-data/lb.js +0 -0
- package/locale-data/lg.d.ts +0 -0
- package/locale-data/lg.js +0 -0
- package/locale-data/lij.d.ts +0 -0
- package/locale-data/lij.js +0 -0
- package/locale-data/lkt.d.ts +0 -0
- package/locale-data/lkt.js +0 -0
- package/locale-data/lld.d.ts +0 -0
- package/locale-data/lld.js +0 -0
- package/locale-data/ln.d.ts +0 -0
- package/locale-data/ln.js +0 -0
- package/locale-data/lo.d.ts +0 -0
- package/locale-data/lo.js +0 -0
- package/locale-data/lt.d.ts +0 -0
- package/locale-data/lt.js +0 -0
- package/locale-data/lv.d.ts +0 -0
- package/locale-data/lv.js +0 -0
- package/locale-data/mas.d.ts +0 -0
- package/locale-data/mas.js +0 -0
- package/locale-data/mg.d.ts +0 -0
- package/locale-data/mg.js +0 -0
- package/locale-data/mgo.d.ts +0 -0
- package/locale-data/mgo.js +0 -0
- package/locale-data/mk.d.ts +0 -0
- package/locale-data/mk.js +0 -0
- package/locale-data/ml.d.ts +0 -0
- package/locale-data/ml.js +0 -0
- package/locale-data/mn.d.ts +0 -0
- package/locale-data/mn.js +0 -0
- package/locale-data/mo.d.ts +0 -0
- package/locale-data/mo.js +0 -0
- package/locale-data/mr.d.ts +0 -0
- package/locale-data/mr.js +0 -0
- package/locale-data/ms.d.ts +0 -0
- package/locale-data/ms.js +0 -0
- package/locale-data/mt.d.ts +0 -0
- package/locale-data/mt.js +0 -0
- package/locale-data/my.d.ts +0 -0
- package/locale-data/my.js +0 -0
- package/locale-data/nah.d.ts +0 -0
- package/locale-data/nah.js +0 -0
- package/locale-data/naq.d.ts +0 -0
- package/locale-data/naq.js +0 -0
- package/locale-data/nb.d.ts +0 -0
- package/locale-data/nb.js +0 -0
- package/locale-data/nd.d.ts +0 -0
- package/locale-data/nd.js +0 -0
- package/locale-data/ne.d.ts +0 -0
- package/locale-data/ne.js +0 -0
- package/locale-data/nl.d.ts +0 -0
- package/locale-data/nl.js +0 -0
- package/locale-data/nn.d.ts +0 -0
- package/locale-data/nn.js +0 -0
- package/locale-data/nnh.d.ts +0 -0
- package/locale-data/nnh.js +0 -0
- package/locale-data/no.d.ts +0 -0
- package/locale-data/no.js +0 -0
- package/locale-data/nqo.d.ts +0 -0
- package/locale-data/nqo.js +0 -0
- package/locale-data/nr.d.ts +0 -0
- package/locale-data/nr.js +0 -0
- package/locale-data/nso.d.ts +0 -0
- package/locale-data/nso.js +0 -0
- package/locale-data/ny.d.ts +0 -0
- package/locale-data/ny.js +0 -0
- package/locale-data/nyn.d.ts +0 -0
- package/locale-data/nyn.js +0 -0
- package/locale-data/om.d.ts +0 -0
- package/locale-data/om.js +0 -0
- package/locale-data/or.d.ts +0 -0
- package/locale-data/or.js +0 -0
- package/locale-data/os.d.ts +0 -0
- package/locale-data/os.js +0 -0
- package/locale-data/osa.d.ts +0 -0
- package/locale-data/osa.js +0 -0
- package/locale-data/pa.d.ts +0 -0
- package/locale-data/pa.js +0 -0
- package/locale-data/pap.d.ts +0 -0
- package/locale-data/pap.js +0 -0
- package/locale-data/pcm.d.ts +0 -0
- package/locale-data/pcm.js +0 -0
- package/locale-data/pl.d.ts +0 -0
- package/locale-data/pl.js +0 -0
- package/locale-data/prg.d.ts +0 -0
- package/locale-data/prg.js +0 -0
- package/locale-data/ps.d.ts +0 -0
- package/locale-data/ps.js +0 -0
- package/locale-data/pt-PT.d.ts +0 -0
- package/locale-data/pt-PT.js +0 -0
- package/locale-data/pt.d.ts +0 -0
- package/locale-data/pt.js +0 -0
- package/locale-data/rm.d.ts +0 -0
- package/locale-data/rm.js +0 -0
- package/locale-data/ro.d.ts +0 -0
- package/locale-data/ro.js +0 -0
- package/locale-data/rof.d.ts +0 -0
- package/locale-data/rof.js +0 -0
- package/locale-data/ru.d.ts +0 -0
- package/locale-data/ru.js +0 -0
- package/locale-data/rwk.d.ts +0 -0
- package/locale-data/rwk.js +0 -0
- package/locale-data/sah.d.ts +0 -0
- package/locale-data/sah.js +0 -0
- package/locale-data/saq.d.ts +0 -0
- package/locale-data/saq.js +0 -0
- package/locale-data/sat.d.ts +0 -0
- package/locale-data/sat.js +0 -0
- package/locale-data/sc.d.ts +0 -0
- package/locale-data/sc.js +0 -0
- package/locale-data/scn.d.ts +0 -0
- package/locale-data/scn.js +0 -0
- package/locale-data/sd.d.ts +0 -0
- package/locale-data/sd.js +0 -0
- package/locale-data/sdh.d.ts +0 -0
- package/locale-data/sdh.js +0 -0
- package/locale-data/se.d.ts +0 -0
- package/locale-data/se.js +0 -0
- package/locale-data/seh.d.ts +0 -0
- package/locale-data/seh.js +0 -0
- package/locale-data/ses.d.ts +0 -0
- package/locale-data/ses.js +0 -0
- package/locale-data/sg.d.ts +0 -0
- package/locale-data/sg.js +0 -0
- package/locale-data/sgs.d.ts +0 -0
- package/locale-data/sgs.js +0 -0
- package/locale-data/sh.d.ts +0 -0
- package/locale-data/sh.js +0 -0
- package/locale-data/shi.d.ts +0 -0
- package/locale-data/shi.js +0 -0
- package/locale-data/si.d.ts +0 -0
- package/locale-data/si.js +0 -0
- package/locale-data/sk.d.ts +0 -0
- package/locale-data/sk.js +0 -0
- package/locale-data/sl.d.ts +0 -0
- package/locale-data/sl.js +0 -0
- package/locale-data/sma.d.ts +0 -0
- package/locale-data/sma.js +0 -0
- package/locale-data/smi.d.ts +0 -0
- package/locale-data/smi.js +0 -0
- package/locale-data/smj.d.ts +0 -0
- package/locale-data/smj.js +0 -0
- package/locale-data/smn.d.ts +0 -0
- package/locale-data/smn.js +0 -0
- package/locale-data/sms.d.ts +0 -0
- package/locale-data/sms.js +0 -0
- package/locale-data/sn.d.ts +0 -0
- package/locale-data/sn.js +0 -0
- package/locale-data/so.d.ts +0 -0
- package/locale-data/so.js +0 -0
- package/locale-data/sq.d.ts +0 -0
- package/locale-data/sq.js +0 -0
- package/locale-data/sr.d.ts +0 -0
- package/locale-data/sr.js +0 -0
- package/locale-data/ss.d.ts +0 -0
- package/locale-data/ss.js +0 -0
- package/locale-data/ssy.d.ts +0 -0
- package/locale-data/ssy.js +0 -0
- package/locale-data/st.d.ts +0 -0
- package/locale-data/st.js +0 -0
- package/locale-data/su.d.ts +0 -0
- package/locale-data/su.js +0 -0
- package/locale-data/sv.d.ts +0 -0
- package/locale-data/sv.js +0 -0
- package/locale-data/sw.d.ts +0 -0
- package/locale-data/sw.js +0 -0
- package/locale-data/syr.d.ts +0 -0
- package/locale-data/syr.js +0 -0
- package/locale-data/ta.d.ts +0 -0
- package/locale-data/ta.js +0 -0
- package/locale-data/te.d.ts +0 -0
- package/locale-data/te.js +0 -0
- package/locale-data/teo.d.ts +0 -0
- package/locale-data/teo.js +0 -0
- package/locale-data/th.d.ts +0 -0
- package/locale-data/th.js +0 -0
- package/locale-data/ti.d.ts +0 -0
- package/locale-data/ti.js +0 -0
- package/locale-data/tig.d.ts +0 -0
- package/locale-data/tig.js +0 -0
- package/locale-data/tk.d.ts +0 -0
- package/locale-data/tk.js +0 -0
- package/locale-data/tl.d.ts +0 -0
- package/locale-data/tl.js +0 -0
- package/locale-data/tn.d.ts +0 -0
- package/locale-data/tn.js +0 -0
- package/locale-data/to.d.ts +0 -0
- package/locale-data/to.js +0 -0
- package/locale-data/tpi.d.ts +0 -0
- package/locale-data/tpi.js +0 -0
- package/locale-data/tr.d.ts +0 -0
- package/locale-data/tr.js +0 -0
- package/locale-data/ts.d.ts +0 -0
- package/locale-data/ts.js +0 -0
- package/locale-data/tzm.d.ts +0 -0
- package/locale-data/tzm.js +0 -0
- package/locale-data/ug.d.ts +0 -0
- package/locale-data/ug.js +0 -0
- package/locale-data/uk.d.ts +0 -0
- package/locale-data/uk.js +0 -0
- package/locale-data/und.d.ts +0 -0
- package/locale-data/und.js +0 -0
- package/locale-data/ur.d.ts +0 -0
- package/locale-data/ur.js +0 -0
- package/locale-data/uz.d.ts +0 -0
- package/locale-data/uz.js +0 -0
- package/locale-data/ve.d.ts +0 -0
- package/locale-data/ve.js +0 -0
- package/locale-data/vec.d.ts +0 -0
- package/locale-data/vec.js +0 -0
- package/locale-data/vi.d.ts +0 -0
- package/locale-data/vi.js +0 -0
- package/locale-data/vo.d.ts +0 -0
- package/locale-data/vo.js +0 -0
- package/locale-data/vun.d.ts +0 -0
- package/locale-data/vun.js +0 -0
- package/locale-data/wa.d.ts +0 -0
- package/locale-data/wa.js +0 -0
- package/locale-data/wae.d.ts +0 -0
- package/locale-data/wae.js +0 -0
- package/locale-data/wo.d.ts +0 -0
- package/locale-data/wo.js +0 -0
- package/locale-data/xh.d.ts +0 -0
- package/locale-data/xh.js +0 -0
- package/locale-data/xog.d.ts +0 -0
- package/locale-data/xog.js +0 -0
- package/locale-data/yi.d.ts +0 -0
- package/locale-data/yi.js +0 -0
- package/locale-data/yo.d.ts +0 -0
- package/locale-data/yo.js +0 -0
- package/locale-data/yue.d.ts +0 -0
- package/locale-data/yue.js +0 -0
- package/locale-data/zh.d.ts +0 -0
- package/locale-data/zh.js +0 -0
- package/locale-data/zu.d.ts +0 -0
- package/locale-data/zu.js +0 -0
- package/package.json +1 -1
- package/polyfill-force.d.ts +0 -0
- package/polyfill-force.js +5 -62
- package/polyfill-force.js.map +1 -1
- package/polyfill.d.ts +0 -0
- package/polyfill.iife.js +4 -61
- package/polyfill.js +5 -62
- package/polyfill.js.map +1 -1
- package/should-polyfill.d.ts +0 -0
- package/should-polyfill.js +0 -0
- package/should-polyfill.js.map +1 -1
package/polyfill.d.ts
CHANGED
|
File without changes
|
package/polyfill.iife.js
CHANGED
|
@@ -5534,59 +5534,6 @@ function FormatNumericToString(intlObject, _x) {
|
|
|
5534
5534
|
};
|
|
5535
5535
|
}
|
|
5536
5536
|
//#endregion
|
|
5537
|
-
//#region packages/ecma402-abstract/PluralRules/GetOperands.js
|
|
5538
|
-
/**
|
|
5539
|
-
* CLDR operands for the implementation-defined PluralRuleSelect
|
|
5540
|
-
* ECMA-402 §17.5.1 PluralRuleSelect, decimalString parameter and return definition.
|
|
5541
|
-
* https://tc39.es/ecma402/#sec-pluralruleselect
|
|
5542
|
-
* https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/pluralrules.html#L285-L290
|
|
5543
|
-
*
|
|
5544
|
-
* Implementation: Extended to support compact exponent (c/e operands)
|
|
5545
|
-
*
|
|
5546
|
-
* @param s Formatted number string
|
|
5547
|
-
* @param exponent Compact decimal exponent (c/e operand), defaults to 0
|
|
5548
|
-
*/
|
|
5549
|
-
function GetOperands(s, exponent = 0) {
|
|
5550
|
-
invariant(typeof s === "string", `GetOperands should have been called with a string`);
|
|
5551
|
-
const n = new BigDecimal(s);
|
|
5552
|
-
invariant(n.isFinite(), "n should be finite");
|
|
5553
|
-
let dp = s.indexOf(".");
|
|
5554
|
-
let iv;
|
|
5555
|
-
let f;
|
|
5556
|
-
let v;
|
|
5557
|
-
let fv = "";
|
|
5558
|
-
if (dp === -1) {
|
|
5559
|
-
iv = s;
|
|
5560
|
-
f = ZERO;
|
|
5561
|
-
v = 0;
|
|
5562
|
-
} else {
|
|
5563
|
-
iv = s.slice(0, dp);
|
|
5564
|
-
fv = s.slice(dp, s.length);
|
|
5565
|
-
f = new BigDecimal(fv);
|
|
5566
|
-
v = fv.length;
|
|
5567
|
-
}
|
|
5568
|
-
const i = new BigDecimal(iv).abs();
|
|
5569
|
-
let w;
|
|
5570
|
-
let t;
|
|
5571
|
-
if (!f.isZero()) {
|
|
5572
|
-
const ft = fv.replace(/0+$/, "");
|
|
5573
|
-
w = ft.length;
|
|
5574
|
-
t = new BigDecimal(ft);
|
|
5575
|
-
} else {
|
|
5576
|
-
w = 0;
|
|
5577
|
-
t = ZERO;
|
|
5578
|
-
}
|
|
5579
|
-
return {
|
|
5580
|
-
Number: n,
|
|
5581
|
-
IntegerDigits: i.lessThanOrEqualTo(Number.MAX_SAFE_INTEGER) && i.greaterThanOrEqualTo(-Number.MAX_SAFE_INTEGER) ? i.toNumber() : i.toString(),
|
|
5582
|
-
NumberOfFractionDigits: v,
|
|
5583
|
-
NumberOfFractionDigitsWithoutTrailing: w,
|
|
5584
|
-
FractionDigits: f.toNumber(),
|
|
5585
|
-
FractionDigitsWithoutTrailing: t.toNumber(),
|
|
5586
|
-
CompactExponent: exponent
|
|
5587
|
-
};
|
|
5588
|
-
}
|
|
5589
|
-
//#endregion
|
|
5590
5537
|
//#region packages/ecma402-abstract/PluralRules/ResolvePlural.js
|
|
5591
5538
|
/**
|
|
5592
5539
|
* ResolvePluralInternal ( pluralRules, n )
|
|
@@ -5631,7 +5578,7 @@ function ResolvePluralInternal(pl, n, { getInternalSlots, PluralRuleSelect }) {
|
|
|
5631
5578
|
}
|
|
5632
5579
|
return {
|
|
5633
5580
|
formattedString: s,
|
|
5634
|
-
pluralCategory: PluralRuleSelect(locale, type,
|
|
5581
|
+
pluralCategory: PluralRuleSelect(locale, type, s, exponent)
|
|
5635
5582
|
};
|
|
5636
5583
|
}
|
|
5637
5584
|
/**
|
|
@@ -5699,14 +5646,10 @@ function validateInstance(instance, method) {
|
|
|
5699
5646
|
if (!(instance instanceof PluralRules)) throw new TypeError(`Method Intl.PluralRules.prototype.${method} called on incompatible receiver ${String(instance)}`);
|
|
5700
5647
|
}
|
|
5701
5648
|
/**
|
|
5702
|
-
*
|
|
5703
|
-
* @param locale
|
|
5704
|
-
* @param type
|
|
5705
|
-
* @param _n
|
|
5706
|
-
* @param param3
|
|
5649
|
+
* https://tc39.es/ecma402/#sec-pluralruleselect
|
|
5707
5650
|
*/
|
|
5708
|
-
function PluralRuleSelect(locale, type,
|
|
5709
|
-
return PluralRules.localeData[locale].fn(
|
|
5651
|
+
function PluralRuleSelect(locale, type, decimalString, exponent) {
|
|
5652
|
+
return PluralRules.localeData[locale].fn(decimalString, type === "ordinal", exponent);
|
|
5710
5653
|
}
|
|
5711
5654
|
/**
|
|
5712
5655
|
* PluralRuleSelectRange ( locale, type, notation, compactDisplay, start, end )
|
package/polyfill.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LookupSupportedLocales, ResolveLocale, match } from "@formatjs/intl-localematcher";
|
|
2
|
-
import
|
|
2
|
+
import { Decimal } from "@formatjs/bigdecimal";
|
|
3
3
|
//#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.supported-locales@0.0.0/node_modules/@formatjs_generated/cldr.supported-locales/default-content.js
|
|
4
4
|
const defaultContent = {
|
|
5
5
|
"aa": ["aa-ET"],
|
|
@@ -1135,59 +1135,6 @@ function FormatNumericToString(intlObject, _x) {
|
|
|
1135
1135
|
};
|
|
1136
1136
|
}
|
|
1137
1137
|
//#endregion
|
|
1138
|
-
//#region packages/ecma402-abstract/PluralRules/GetOperands.js
|
|
1139
|
-
/**
|
|
1140
|
-
* CLDR operands for the implementation-defined PluralRuleSelect
|
|
1141
|
-
* ECMA-402 §17.5.1 PluralRuleSelect, decimalString parameter and return definition.
|
|
1142
|
-
* https://tc39.es/ecma402/#sec-pluralruleselect
|
|
1143
|
-
* https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/pluralrules.html#L285-L290
|
|
1144
|
-
*
|
|
1145
|
-
* Implementation: Extended to support compact exponent (c/e operands)
|
|
1146
|
-
*
|
|
1147
|
-
* @param s Formatted number string
|
|
1148
|
-
* @param exponent Compact decimal exponent (c/e operand), defaults to 0
|
|
1149
|
-
*/
|
|
1150
|
-
function GetOperands(s, exponent = 0) {
|
|
1151
|
-
invariant(typeof s === "string", `GetOperands should have been called with a string`);
|
|
1152
|
-
const n = new Decimal$1(s);
|
|
1153
|
-
invariant(n.isFinite(), "n should be finite");
|
|
1154
|
-
let dp = s.indexOf(".");
|
|
1155
|
-
let iv;
|
|
1156
|
-
let f;
|
|
1157
|
-
let v;
|
|
1158
|
-
let fv = "";
|
|
1159
|
-
if (dp === -1) {
|
|
1160
|
-
iv = s;
|
|
1161
|
-
f = ZERO;
|
|
1162
|
-
v = 0;
|
|
1163
|
-
} else {
|
|
1164
|
-
iv = s.slice(0, dp);
|
|
1165
|
-
fv = s.slice(dp, s.length);
|
|
1166
|
-
f = new Decimal$1(fv);
|
|
1167
|
-
v = fv.length;
|
|
1168
|
-
}
|
|
1169
|
-
const i = new Decimal$1(iv).abs();
|
|
1170
|
-
let w;
|
|
1171
|
-
let t;
|
|
1172
|
-
if (!f.isZero()) {
|
|
1173
|
-
const ft = fv.replace(/0+$/, "");
|
|
1174
|
-
w = ft.length;
|
|
1175
|
-
t = new Decimal$1(ft);
|
|
1176
|
-
} else {
|
|
1177
|
-
w = 0;
|
|
1178
|
-
t = ZERO;
|
|
1179
|
-
}
|
|
1180
|
-
return {
|
|
1181
|
-
Number: n,
|
|
1182
|
-
IntegerDigits: i.lessThanOrEqualTo(Number.MAX_SAFE_INTEGER) && i.greaterThanOrEqualTo(-Number.MAX_SAFE_INTEGER) ? i.toNumber() : i.toString(),
|
|
1183
|
-
NumberOfFractionDigits: v,
|
|
1184
|
-
NumberOfFractionDigitsWithoutTrailing: w,
|
|
1185
|
-
FractionDigits: f.toNumber(),
|
|
1186
|
-
FractionDigitsWithoutTrailing: t.toNumber(),
|
|
1187
|
-
CompactExponent: exponent
|
|
1188
|
-
};
|
|
1189
|
-
}
|
|
1190
|
-
//#endregion
|
|
1191
1138
|
//#region packages/ecma402-abstract/PluralRules/ResolvePlural.js
|
|
1192
1139
|
/**
|
|
1193
1140
|
* ResolvePluralInternal ( pluralRules, n )
|
|
@@ -1232,7 +1179,7 @@ function ResolvePluralInternal(pl, n, { getInternalSlots, PluralRuleSelect }) {
|
|
|
1232
1179
|
}
|
|
1233
1180
|
return {
|
|
1234
1181
|
formattedString: s,
|
|
1235
|
-
pluralCategory: PluralRuleSelect(locale, type,
|
|
1182
|
+
pluralCategory: PluralRuleSelect(locale, type, s, exponent)
|
|
1236
1183
|
};
|
|
1237
1184
|
}
|
|
1238
1185
|
/**
|
|
@@ -1300,14 +1247,10 @@ function validateInstance(instance, method) {
|
|
|
1300
1247
|
if (!(instance instanceof PluralRules)) throw new TypeError(`Method Intl.PluralRules.prototype.${method} called on incompatible receiver ${String(instance)}`);
|
|
1301
1248
|
}
|
|
1302
1249
|
/**
|
|
1303
|
-
*
|
|
1304
|
-
* @param locale
|
|
1305
|
-
* @param type
|
|
1306
|
-
* @param _n
|
|
1307
|
-
* @param param3
|
|
1250
|
+
* https://tc39.es/ecma402/#sec-pluralruleselect
|
|
1308
1251
|
*/
|
|
1309
|
-
function PluralRuleSelect(locale, type,
|
|
1310
|
-
return PluralRules.localeData[locale].fn(
|
|
1252
|
+
function PluralRuleSelect(locale, type, decimalString, exponent) {
|
|
1253
|
+
return PluralRules.localeData[locale].fn(decimalString, type === "ordinal", exponent);
|
|
1311
1254
|
}
|
|
1312
1255
|
/**
|
|
1313
1256
|
* PluralRuleSelectRange ( locale, type, notation, compactDisplay, start, end )
|