@formatjs/intl-pluralrules 6.3.16 → 6.4.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.
- package/index.d.ts +12 -1
- package/index.js +9 -1
- package/index.js.map +1 -1
- package/locale-data/af.js +2 -2
- package/locale-data/ak.js +2 -2
- package/locale-data/am.js +2 -2
- package/locale-data/an.js +2 -2
- package/locale-data/ar.js +32 -16
- package/locale-data/ars.js +32 -16
- package/locale-data/as.js +14 -14
- package/locale-data/asa.js +2 -2
- package/locale-data/az.js +26 -10
- package/locale-data/bal.js +4 -4
- package/locale-data/be.js +26 -10
- package/locale-data/bem.js +2 -2
- package/locale-data/bez.js +2 -2
- package/locale-data/bg.js +2 -2
- package/locale-data/bho.js +2 -2
- package/locale-data/blo.js +14 -14
- package/locale-data/bn.js +14 -14
- package/locale-data/br.js +28 -12
- package/locale-data/brx.js +2 -2
- package/locale-data/bs.js +22 -6
- package/locale-data/ca.js +28 -12
- package/locale-data/ce.js +2 -2
- package/locale-data/ceb.js +18 -2
- package/locale-data/cgg.js +2 -2
- package/locale-data/chr.js +2 -2
- package/locale-data/ckb.js +2 -2
- package/locale-data/cs.js +4 -4
- package/locale-data/csw.js +2 -2
- package/locale-data/cv.js +6 -6
- package/locale-data/cy.js +32 -32
- package/locale-data/da.js +2 -2
- package/locale-data/doi.js +2 -2
- package/locale-data/dsb.js +24 -8
- package/locale-data/dv.js +2 -2
- package/locale-data/ee.js +2 -2
- package/locale-data/el.js +2 -2
- package/locale-data/en.js +24 -8
- package/locale-data/eo.js +2 -2
- package/locale-data/es.js +22 -6
- package/locale-data/eu.js +2 -2
- package/locale-data/fa.js +2 -2
- package/locale-data/fil.js +20 -4
- package/locale-data/fo.js +2 -2
- package/locale-data/fr.js +22 -6
- package/locale-data/fur.js +2 -2
- package/locale-data/ga.js +14 -14
- package/locale-data/gd.js +16 -16
- package/locale-data/gsw.js +2 -2
- package/locale-data/gu.js +14 -14
- package/locale-data/guw.js +2 -2
- package/locale-data/gv.js +26 -10
- package/locale-data/ha.js +2 -2
- package/locale-data/haw.js +2 -2
- package/locale-data/hi.js +14 -14
- package/locale-data/hr.js +22 -6
- package/locale-data/hsb.js +24 -8
- package/locale-data/hu.js +4 -4
- package/locale-data/hy.js +2 -2
- package/locale-data/is.js +18 -2
- package/locale-data/it.js +22 -6
- package/locale-data/iu.js +4 -4
- package/locale-data/jgo.js +2 -2
- package/locale-data/jmc.js +2 -2
- package/locale-data/ka.js +22 -6
- package/locale-data/kaj.js +2 -2
- package/locale-data/kcg.js +2 -2
- package/locale-data/kk.js +20 -4
- package/locale-data/kkj.js +2 -2
- package/locale-data/kl.js +2 -2
- package/locale-data/kn.js +2 -2
- package/locale-data/kok-Latn.js +10 -10
- package/locale-data/kok.js +10 -10
- package/locale-data/ks.js +2 -2
- package/locale-data/ksb.js +2 -2
- package/locale-data/ksh.js +6 -6
- package/locale-data/ku.js +2 -2
- package/locale-data/kw.js +38 -22
- package/locale-data/ky.js +2 -2
- package/locale-data/lag.js +6 -6
- package/locale-data/lb.js +2 -2
- package/locale-data/lg.js +2 -2
- package/locale-data/lij.js +2 -2
- package/locale-data/lld.js +22 -6
- package/locale-data/ln.js +2 -2
- package/locale-data/lo.js +2 -2
- package/locale-data/lt.js +22 -6
- package/locale-data/lv.js +22 -6
- package/locale-data/mas.js +2 -2
- package/locale-data/mg.js +2 -2
- package/locale-data/mgo.js +2 -2
- package/locale-data/mk.js +26 -10
- package/locale-data/ml.js +2 -2
- package/locale-data/mn.js +2 -2
- package/locale-data/mo.js +22 -6
- package/locale-data/mr.js +10 -10
- package/locale-data/ms.js +2 -2
- package/locale-data/mt.js +28 -12
- package/locale-data/nah.js +2 -2
- package/locale-data/naq.js +4 -4
- package/locale-data/nb.js +2 -2
- package/locale-data/nd.js +2 -2
- package/locale-data/ne.js +4 -4
- package/locale-data/nn.js +2 -2
- package/locale-data/nnh.js +2 -2
- package/locale-data/no.js +2 -2
- package/locale-data/nr.js +2 -2
- package/locale-data/nso.js +2 -2
- package/locale-data/ny.js +2 -2
- package/locale-data/nyn.js +2 -2
- package/locale-data/om.js +2 -2
- package/locale-data/or.js +14 -14
- package/locale-data/os.js +2 -2
- package/locale-data/pa.js +2 -2
- package/locale-data/pap.js +2 -2
- package/locale-data/pcm.js +2 -2
- package/locale-data/pl.js +24 -8
- package/locale-data/prg.js +22 -6
- package/locale-data/ps.js +2 -2
- package/locale-data/pt-PT.js +20 -4
- package/locale-data/pt.js +20 -4
- package/locale-data/rm.js +2 -2
- package/locale-data/ro.js +22 -6
- package/locale-data/rof.js +2 -2
- package/locale-data/ru.js +24 -8
- package/locale-data/rwk.js +2 -2
- package/locale-data/saq.js +2 -2
- package/locale-data/sat.js +4 -4
- package/locale-data/sc.js +2 -2
- package/locale-data/scn.js +22 -6
- package/locale-data/sd.js +2 -2
- package/locale-data/sdh.js +2 -2
- package/locale-data/se.js +4 -4
- package/locale-data/seh.js +2 -2
- package/locale-data/sgs.js +26 -10
- package/locale-data/sh.js +22 -6
- package/locale-data/shi.js +6 -6
- package/locale-data/si.js +2 -2
- package/locale-data/sk.js +4 -4
- package/locale-data/sl.js +24 -8
- package/locale-data/sma.js +4 -4
- package/locale-data/smi.js +4 -4
- package/locale-data/smj.js +4 -4
- package/locale-data/smn.js +4 -4
- package/locale-data/sms.js +4 -4
- package/locale-data/sn.js +2 -2
- package/locale-data/so.js +2 -2
- package/locale-data/sq.js +24 -8
- package/locale-data/sr.js +22 -6
- package/locale-data/ss.js +2 -2
- package/locale-data/ssy.js +2 -2
- package/locale-data/st.js +2 -2
- package/locale-data/sv.js +18 -2
- package/locale-data/syr.js +2 -2
- package/locale-data/ta.js +2 -2
- package/locale-data/te.js +2 -2
- package/locale-data/teo.js +2 -2
- package/locale-data/ti.js +2 -2
- package/locale-data/tig.js +2 -2
- package/locale-data/tk.js +20 -4
- package/locale-data/tl.js +20 -4
- package/locale-data/tn.js +2 -2
- package/locale-data/tr.js +2 -2
- package/locale-data/ts.js +2 -2
- package/locale-data/tzm.js +2 -2
- package/locale-data/ug.js +2 -2
- package/locale-data/uk.js +26 -10
- package/locale-data/uz.js +2 -2
- package/locale-data/ve.js +2 -2
- package/locale-data/vec.js +22 -6
- package/locale-data/vi.js +2 -2
- package/locale-data/vo.js +2 -2
- package/locale-data/vun.js +2 -2
- package/locale-data/wa.js +2 -2
- package/locale-data/wae.js +2 -2
- package/locale-data/xh.js +2 -2
- package/locale-data/xog.js +2 -2
- package/locale-data/zu.js +2 -2
- package/package.json +2 -2
- package/polyfill-force.js +9 -1
- package/polyfill-force.js.map +1 -1
- package/polyfill.iife.js +2077 -3435
- package/polyfill.js +9 -1
- package/polyfill.js.map +1 -1
- package/should-polyfill.js.map +1 -1
package/index.d.ts
CHANGED
|
@@ -29,6 +29,17 @@ type NumberFormatNotation = "standard" | "scientific" | "engineering" | "compact
|
|
|
29
29
|
type RoundingPriorityType = "auto" | "morePrecision" | "lessPrecision";
|
|
30
30
|
type NumberFormatRoundingType = "morePrecision" | "lessPrecision" | "significantDigits" | "fractionDigits";
|
|
31
31
|
type RoundingModeType = "ceil" | "floor" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven";
|
|
32
|
+
interface NumberFormatDigitOptions {
|
|
33
|
+
minimumIntegerDigits?: number;
|
|
34
|
+
minimumSignificantDigits?: number;
|
|
35
|
+
maximumSignificantDigits?: number;
|
|
36
|
+
minimumFractionDigits?: number;
|
|
37
|
+
maximumFractionDigits?: number;
|
|
38
|
+
roundingPriority?: RoundingPriorityType;
|
|
39
|
+
roundingIncrement?: number;
|
|
40
|
+
roundingMode?: RoundingModeType;
|
|
41
|
+
trailingZeroDisplay?: TrailingZeroDisplay;
|
|
42
|
+
}
|
|
32
43
|
interface NumberFormatDigitInternalSlots {
|
|
33
44
|
minimumIntegerDigits: number;
|
|
34
45
|
minimumSignificantDigits: number;
|
|
@@ -59,7 +70,7 @@ declare global {
|
|
|
59
70
|
interface PluralRules {
|
|
60
71
|
selectRange(start: number | bigint, end: number | bigint): LDMLPluralRule;
|
|
61
72
|
}
|
|
62
|
-
interface PluralRulesOptions {
|
|
73
|
+
interface PluralRulesOptions extends NumberFormatDigitOptions {
|
|
63
74
|
notation?: "standard" | "scientific" | "engineering" | "compact";
|
|
64
75
|
compactDisplay?: "short" | "long";
|
|
65
76
|
}
|
package/index.js
CHANGED
|
@@ -507,6 +507,13 @@ function ToIntlMathematicalValue(input) {
|
|
|
507
507
|
if (typeof input === "bigint") return new Decimal(input.toString());
|
|
508
508
|
let primValue = ToPrimitive(input, "number");
|
|
509
509
|
if (typeof primValue === "symbol") throw new TypeError("Cannot convert a Symbol value to a number");
|
|
510
|
+
if (typeof primValue === "string") {
|
|
511
|
+
const rounded = +primValue;
|
|
512
|
+
if (rounded !== rounded || rounded === Infinity || rounded === -Infinity || rounded === 0) return new Decimal(rounded);
|
|
513
|
+
const text = primValue.trim();
|
|
514
|
+
if (/^0[xob]/i.test(text)) return new Decimal(BigInt(text));
|
|
515
|
+
primValue = text;
|
|
516
|
+
}
|
|
510
517
|
if (primValue === void 0) return new Decimal(NaN);
|
|
511
518
|
if (primValue === true) return new Decimal(1);
|
|
512
519
|
if (primValue === false) return new Decimal(0);
|
|
@@ -1368,7 +1375,8 @@ var PluralRules = class PluralRules {
|
|
|
1368
1375
|
return SupportedLocales(PluralRules.availableLocales, CanonicalizeLocaleList(locales), options);
|
|
1369
1376
|
}
|
|
1370
1377
|
static __addLocaleData(...data) {
|
|
1371
|
-
for (const { data: d, locale } of data) {
|
|
1378
|
+
for (const { data: d, locale: tag } of data) {
|
|
1379
|
+
const [locale] = CanonicalizeLocaleList(tag);
|
|
1372
1380
|
registerLocaleData(locale, d, PluralRules.localeData, PluralRules.availableLocales);
|
|
1373
1381
|
if (!PluralRules.__defaultLocale) PluralRules.__defaultLocale = locale;
|
|
1374
1382
|
}
|