@formatjs/intl-pluralrules 6.3.16 → 7.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 (192) hide show
  1. package/index.d.ts +12 -9
  2. package/index.js +39 -143
  3. package/index.js.map +1 -1
  4. package/locale-data/af.js +26 -4
  5. package/locale-data/ak.js +2 -2
  6. package/locale-data/am.js +2 -2
  7. package/locale-data/an.js +2 -2
  8. package/locale-data/ar.js +32 -16
  9. package/locale-data/ars.js +32 -16
  10. package/locale-data/as.js +14 -14
  11. package/locale-data/asa.js +2 -2
  12. package/locale-data/az.js +26 -10
  13. package/locale-data/bal.js +4 -4
  14. package/locale-data/be.js +26 -10
  15. package/locale-data/bem.js +2 -2
  16. package/locale-data/bez.js +2 -2
  17. package/locale-data/bg.js +34 -4
  18. package/locale-data/bho.js +2 -2
  19. package/locale-data/blo.js +14 -14
  20. package/locale-data/bn.js +14 -14
  21. package/locale-data/br.js +28 -12
  22. package/locale-data/brx.js +2 -2
  23. package/locale-data/bs.js +22 -6
  24. package/locale-data/ca.js +28 -12
  25. package/locale-data/ce.js +2 -2
  26. package/locale-data/ceb.js +18 -2
  27. package/locale-data/cgg.js +2 -2
  28. package/locale-data/chr.js +2 -2
  29. package/locale-data/ckb.js +2 -2
  30. package/locale-data/cs.js +4 -4
  31. package/locale-data/csw.js +2 -2
  32. package/locale-data/cv.js +6 -6
  33. package/locale-data/cy.js +32 -32
  34. package/locale-data/da.js +2 -2
  35. package/locale-data/doi.js +2 -2
  36. package/locale-data/dsb.js +24 -8
  37. package/locale-data/dv.js +2 -2
  38. package/locale-data/ee.js +2 -2
  39. package/locale-data/el.js +2 -2
  40. package/locale-data/en.js +24 -8
  41. package/locale-data/eo.js +2 -2
  42. package/locale-data/es.js +28 -8
  43. package/locale-data/eu.js +2 -2
  44. package/locale-data/fa.js +2 -2
  45. package/locale-data/fil.js +20 -4
  46. package/locale-data/fo.js +2 -2
  47. package/locale-data/fr.js +24 -8
  48. package/locale-data/fur.js +2 -2
  49. package/locale-data/ga.js +14 -14
  50. package/locale-data/gd.js +16 -16
  51. package/locale-data/gl.js +24 -2
  52. package/locale-data/gsw.js +2 -2
  53. package/locale-data/gu.js +14 -14
  54. package/locale-data/guw.js +2 -2
  55. package/locale-data/gv.js +26 -10
  56. package/locale-data/ha.js +2 -2
  57. package/locale-data/haw.js +2 -2
  58. package/locale-data/hi.js +14 -14
  59. package/locale-data/hr.js +22 -6
  60. package/locale-data/hsb.js +24 -8
  61. package/locale-data/hu.js +4 -4
  62. package/locale-data/hy.js +2 -2
  63. package/locale-data/is.js +18 -2
  64. package/locale-data/it.js +22 -6
  65. package/locale-data/iu.js +4 -4
  66. package/locale-data/jgo.js +2 -2
  67. package/locale-data/jmc.js +2 -2
  68. package/locale-data/ka.js +22 -6
  69. package/locale-data/kaj.js +2 -2
  70. package/locale-data/kcg.js +2 -2
  71. package/locale-data/kk.js +20 -4
  72. package/locale-data/kkj.js +2 -2
  73. package/locale-data/kl.js +2 -2
  74. package/locale-data/kn.js +2 -2
  75. package/locale-data/kok-Latn.js +10 -10
  76. package/locale-data/kok.js +10 -10
  77. package/locale-data/ks.js +2 -2
  78. package/locale-data/ksb.js +2 -2
  79. package/locale-data/ksh.js +6 -6
  80. package/locale-data/ku.js +2 -2
  81. package/locale-data/kw.js +38 -22
  82. package/locale-data/ky.js +2 -2
  83. package/locale-data/lag.js +6 -6
  84. package/locale-data/lb.js +2 -2
  85. package/locale-data/lg.js +2 -2
  86. package/locale-data/lij.js +2 -2
  87. package/locale-data/lld.js +22 -6
  88. package/locale-data/ln.js +2 -2
  89. package/locale-data/lo.js +2 -2
  90. package/locale-data/lt.js +22 -6
  91. package/locale-data/lv.js +22 -6
  92. package/locale-data/mas.js +2 -2
  93. package/locale-data/mg.js +2 -2
  94. package/locale-data/mgo.js +2 -2
  95. package/locale-data/mk.js +26 -10
  96. package/locale-data/ml.js +2 -2
  97. package/locale-data/mn.js +2 -2
  98. package/locale-data/mo.js +22 -6
  99. package/locale-data/mr.js +10 -10
  100. package/locale-data/ms.js +2 -2
  101. package/locale-data/mt.js +28 -12
  102. package/locale-data/nah.js +2 -2
  103. package/locale-data/naq.js +4 -4
  104. package/locale-data/nb.js +2 -2
  105. package/locale-data/nd.js +2 -2
  106. package/locale-data/ne.js +4 -4
  107. package/locale-data/nn.js +2 -2
  108. package/locale-data/nnh.js +2 -2
  109. package/locale-data/no.js +2 -2
  110. package/locale-data/nr.js +2 -2
  111. package/locale-data/nso.js +2 -2
  112. package/locale-data/ny.js +2 -2
  113. package/locale-data/nyn.js +2 -2
  114. package/locale-data/om.js +2 -2
  115. package/locale-data/or.js +14 -14
  116. package/locale-data/os.js +2 -2
  117. package/locale-data/pa.js +2 -2
  118. package/locale-data/pap.js +2 -2
  119. package/locale-data/pcm.js +2 -2
  120. package/locale-data/pl.js +24 -8
  121. package/locale-data/prg.js +22 -6
  122. package/locale-data/ps.js +2 -2
  123. package/locale-data/pt-PT.js +20 -4
  124. package/locale-data/pt.js +20 -4
  125. package/locale-data/rm.js +2 -2
  126. package/locale-data/ro.js +22 -6
  127. package/locale-data/rof.js +2 -2
  128. package/locale-data/ru.js +24 -8
  129. package/locale-data/rwk.js +2 -2
  130. package/locale-data/saq.js +2 -2
  131. package/locale-data/sat.js +4 -4
  132. package/locale-data/sc.js +2 -2
  133. package/locale-data/scn.js +22 -6
  134. package/locale-data/sd.js +2 -2
  135. package/locale-data/sdh.js +2 -2
  136. package/locale-data/se.js +4 -4
  137. package/locale-data/seh.js +2 -2
  138. package/locale-data/sgs.js +26 -10
  139. package/locale-data/sh.js +22 -6
  140. package/locale-data/shi.js +6 -6
  141. package/locale-data/si.js +2 -2
  142. package/locale-data/sk.js +4 -4
  143. package/locale-data/sl.js +24 -8
  144. package/locale-data/sma.js +4 -4
  145. package/locale-data/smi.js +4 -4
  146. package/locale-data/smj.js +4 -4
  147. package/locale-data/smn.js +4 -4
  148. package/locale-data/sms.js +4 -4
  149. package/locale-data/sn.js +2 -2
  150. package/locale-data/so.js +2 -2
  151. package/locale-data/sq.js +24 -8
  152. package/locale-data/sr.js +22 -6
  153. package/locale-data/ss.js +2 -2
  154. package/locale-data/ssy.js +2 -2
  155. package/locale-data/st.js +2 -2
  156. package/locale-data/sv.js +18 -2
  157. package/locale-data/syr.js +2 -2
  158. package/locale-data/ta.js +2 -2
  159. package/locale-data/te.js +2 -2
  160. package/locale-data/teo.js +2 -2
  161. package/locale-data/tg.d.ts +1 -0
  162. package/locale-data/tg.js +35 -0
  163. package/locale-data/ti.js +2 -2
  164. package/locale-data/tig.js +2 -2
  165. package/locale-data/tk.js +20 -4
  166. package/locale-data/tl.js +20 -4
  167. package/locale-data/tn.js +2 -2
  168. package/locale-data/tr.js +2 -2
  169. package/locale-data/ts.js +2 -2
  170. package/locale-data/tzm.js +2 -2
  171. package/locale-data/ug.js +2 -2
  172. package/locale-data/uk.js +26 -10
  173. package/locale-data/uz.js +2 -2
  174. package/locale-data/ve.js +2 -2
  175. package/locale-data/vec.js +22 -6
  176. package/locale-data/vi.js +12 -6
  177. package/locale-data/vo.js +2 -2
  178. package/locale-data/vun.js +2 -2
  179. package/locale-data/wa.js +2 -2
  180. package/locale-data/wae.js +2 -2
  181. package/locale-data/xh.js +2 -2
  182. package/locale-data/xog.js +2 -2
  183. package/locale-data/zu.js +2 -2
  184. package/package.json +3 -3
  185. package/polyfill-force.js +39 -143
  186. package/polyfill-force.js.map +1 -1
  187. package/polyfill.iife.js +2137 -3591
  188. package/polyfill.js +43 -149
  189. package/polyfill.js.map +1 -1
  190. package/should-polyfill.d.ts +0 -2
  191. package/should-polyfill.js +3 -4
  192. package/should-polyfill.js.map +1 -1
package/locale-data/ka.js CHANGED
@@ -2,6 +2,14 @@
2
2
  // prettier-ignore
3
3
  if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') {
4
4
  Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["one","other"],"ordinal":["many","one","other"]},"fn":function(num, isOrdinal, exponent = 0) {
5
+ function modDigits(digits, divisor) {
6
+ let value = 0;
7
+ for (let index = 0; index < digits.length; index++) {
8
+ const digit = digits.charCodeAt(index) - 48;
9
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
10
+ }
11
+ return value;
12
+ }
5
13
  const numStr = String(num);
6
14
  const parts = numStr.split(".");
7
15
  const integerPart = parts[0];
@@ -9,19 +17,27 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
9
17
  const n = Math.abs(parseFloat(numStr));
10
18
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
11
19
  if (isOrdinal) {
12
- if (i === 0 || (((((i % 100) >= 2 && (i % 100) <= 20) || (i % 100) === 40) || (i % 100) === 60) || (i % 100) === 80))
13
- return "many";
14
20
  if (i === 1)
15
21
  return "one";
22
+ if (i === 0 || ((((modDigits(integerPart, 100) >= 2 && modDigits(integerPart, 100) <= 20) || modDigits(integerPart, 100) === 40) || modDigits(integerPart, 100) === 60) || modDigits(integerPart, 100) === 80))
23
+ return "many";
16
24
  }
17
25
  else {
18
- if (n === 1)
26
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
19
27
  return "one";
20
28
  }
21
29
  return "other";
22
30
  },"pluralRanges":{"cardinal":{"one_other":"one","other_one":"other","other_other":"other"},"ordinal":{}}},"locale":"ka"})
23
31
  } else {
24
32
  (globalThis.__FORMATJS_PLURALRULES_DATA__ = globalThis.__FORMATJS_PLURALRULES_DATA__ || []).push({"data":{"categories":{"cardinal":["one","other"],"ordinal":["many","one","other"]},"fn":function(num, isOrdinal, exponent = 0) {
33
+ function modDigits(digits, divisor) {
34
+ let value = 0;
35
+ for (let index = 0; index < digits.length; index++) {
36
+ const digit = digits.charCodeAt(index) - 48;
37
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
38
+ }
39
+ return value;
40
+ }
25
41
  const numStr = String(num);
26
42
  const parts = numStr.split(".");
27
43
  const integerPart = parts[0];
@@ -29,13 +45,13 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
29
45
  const n = Math.abs(parseFloat(numStr));
30
46
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
31
47
  if (isOrdinal) {
32
- if (i === 0 || (((((i % 100) >= 2 && (i % 100) <= 20) || (i % 100) === 40) || (i % 100) === 60) || (i % 100) === 80))
33
- return "many";
34
48
  if (i === 1)
35
49
  return "one";
50
+ if (i === 0 || ((((modDigits(integerPart, 100) >= 2 && modDigits(integerPart, 100) <= 20) || modDigits(integerPart, 100) === 40) || modDigits(integerPart, 100) === 60) || modDigits(integerPart, 100) === 80))
51
+ return "many";
36
52
  }
37
53
  else {
38
- if (n === 1)
54
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
39
55
  return "one";
40
56
  }
41
57
  return "other";
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
package/locale-data/kk.js CHANGED
@@ -2,34 +2,50 @@
2
2
  // prettier-ignore
3
3
  if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') {
4
4
  Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["one","other"],"ordinal":["many","other"]},"fn":function(num, isOrdinal, exponent = 0) {
5
+ function modDigits(digits, divisor) {
6
+ let value = 0;
7
+ for (let index = 0; index < digits.length; index++) {
8
+ const digit = digits.charCodeAt(index) - 48;
9
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
10
+ }
11
+ return value;
12
+ }
5
13
  const numStr = String(num);
6
14
  const parts = numStr.split(".");
7
15
  const integerPart = parts[0];
8
16
  const decimalPart = parts[1] || "";
9
17
  const n = Math.abs(parseFloat(numStr));
10
18
  if (isOrdinal) {
11
- if ((n % 10) === 6 || (n % 10) === 9 || (n % 10) === 0 && n !== 0)
19
+ if ((!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 6) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 9) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 0) && (/[1-9]/.test(decimalPart) || n !== 0))
12
20
  return "many";
13
21
  }
14
22
  else {
15
- if (n === 1)
23
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
16
24
  return "one";
17
25
  }
18
26
  return "other";
19
27
  },"pluralRanges":{"cardinal":{"one_other":"other","other_one":"one","other_other":"other"},"ordinal":{}}},"locale":"kk"})
20
28
  } else {
21
29
  (globalThis.__FORMATJS_PLURALRULES_DATA__ = globalThis.__FORMATJS_PLURALRULES_DATA__ || []).push({"data":{"categories":{"cardinal":["one","other"],"ordinal":["many","other"]},"fn":function(num, isOrdinal, exponent = 0) {
30
+ function modDigits(digits, divisor) {
31
+ let value = 0;
32
+ for (let index = 0; index < digits.length; index++) {
33
+ const digit = digits.charCodeAt(index) - 48;
34
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
35
+ }
36
+ return value;
37
+ }
22
38
  const numStr = String(num);
23
39
  const parts = numStr.split(".");
24
40
  const integerPart = parts[0];
25
41
  const decimalPart = parts[1] || "";
26
42
  const n = Math.abs(parseFloat(numStr));
27
43
  if (isOrdinal) {
28
- if ((n % 10) === 6 || (n % 10) === 9 || (n % 10) === 0 && n !== 0)
44
+ if ((!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 6) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 9) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 10) === 0) && (/[1-9]/.test(decimalPart) || n !== 0))
29
45
  return "many";
30
46
  }
31
47
  else {
32
- if (n === 1)
48
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
33
49
  return "one";
34
50
  }
35
51
  return "other";
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
package/locale-data/kl.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
package/locale-data/kn.js CHANGED
@@ -11,7 +11,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
11
11
  if (isOrdinal) {
12
12
  }
13
13
  else {
14
- if (i === 0 || n === 1)
14
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
15
15
  return "one";
16
16
  }
17
17
  return "other";
@@ -27,7 +27,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
27
27
  if (isOrdinal) {
28
28
  }
29
29
  else {
30
- if (i === 0 || n === 1)
30
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
31
31
  return "one";
32
32
  }
33
33
  return "other";
@@ -9,15 +9,15 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
9
9
  const n = Math.abs(parseFloat(numStr));
10
10
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
11
11
  if (isOrdinal) {
12
- if (n === 4)
13
- return "few";
14
- if (n === 1)
12
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
15
13
  return "one";
16
- if ((n === 2 || n === 3))
14
+ if ((!/[1-9]/.test(decimalPart) && (n === 2 || n === 3)))
17
15
  return "two";
16
+ if ((!/[1-9]/.test(decimalPart) && n === 4))
17
+ return "few";
18
18
  }
19
19
  else {
20
- if (i === 0 || n === 1)
20
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
21
21
  return "one";
22
22
  }
23
23
  return "other";
@@ -31,15 +31,15 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
31
31
  const n = Math.abs(parseFloat(numStr));
32
32
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
33
33
  if (isOrdinal) {
34
- if (n === 4)
35
- return "few";
36
- if (n === 1)
34
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
37
35
  return "one";
38
- if ((n === 2 || n === 3))
36
+ if ((!/[1-9]/.test(decimalPart) && (n === 2 || n === 3)))
39
37
  return "two";
38
+ if ((!/[1-9]/.test(decimalPart) && n === 4))
39
+ return "few";
40
40
  }
41
41
  else {
42
- if (i === 0 || n === 1)
42
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
43
43
  return "one";
44
44
  }
45
45
  return "other";
@@ -9,15 +9,15 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
9
9
  const n = Math.abs(parseFloat(numStr));
10
10
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
11
11
  if (isOrdinal) {
12
- if (n === 4)
13
- return "few";
14
- if (n === 1)
12
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
15
13
  return "one";
16
- if ((n === 2 || n === 3))
14
+ if ((!/[1-9]/.test(decimalPart) && (n === 2 || n === 3)))
17
15
  return "two";
16
+ if ((!/[1-9]/.test(decimalPart) && n === 4))
17
+ return "few";
18
18
  }
19
19
  else {
20
- if (i === 0 || n === 1)
20
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
21
21
  return "one";
22
22
  }
23
23
  return "other";
@@ -31,15 +31,15 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
31
31
  const n = Math.abs(parseFloat(numStr));
32
32
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
33
33
  if (isOrdinal) {
34
- if (n === 4)
35
- return "few";
36
- if (n === 1)
34
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
37
35
  return "one";
38
- if ((n === 2 || n === 3))
36
+ if ((!/[1-9]/.test(decimalPart) && (n === 2 || n === 3)))
39
37
  return "two";
38
+ if ((!/[1-9]/.test(decimalPart) && n === 4))
39
+ return "few";
40
40
  }
41
41
  else {
42
- if (i === 0 || n === 1)
42
+ if (i === 0 || (!/[1-9]/.test(decimalPart) && n === 1))
43
43
  return "one";
44
44
  }
45
45
  return "other";
package/locale-data/ks.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
@@ -10,10 +10,10 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
14
- return "one";
15
- if (n === 0)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
16
14
  return "zero";
15
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
16
+ return "one";
17
17
  }
18
18
  return "other";
19
19
  }},"locale":"ksh"})
@@ -27,10 +27,10 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
27
27
  if (isOrdinal) {
28
28
  }
29
29
  else {
30
- if (n === 1)
31
- return "one";
32
- if (n === 0)
30
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
33
31
  return "zero";
32
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
33
+ return "one";
34
34
  }
35
35
  return "other";
36
36
  }},"locale":"ksh"})
package/locale-data/ku.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
package/locale-data/kw.js CHANGED
@@ -2,55 +2,71 @@
2
2
  // prettier-ignore
3
3
  if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') {
4
4
  Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["few","many","one","other","two","zero"],"ordinal":["many","one","other"]},"fn":function(num, isOrdinal, exponent = 0) {
5
+ function modDigits(digits, divisor) {
6
+ let value = 0;
7
+ for (let index = 0; index < digits.length; index++) {
8
+ const digit = digits.charCodeAt(index) - 48;
9
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
10
+ }
11
+ return value;
12
+ }
5
13
  const numStr = String(num);
6
14
  const parts = numStr.split(".");
7
15
  const integerPart = parts[0];
8
16
  const decimalPart = parts[1] || "";
9
17
  const n = Math.abs(parseFloat(numStr));
10
18
  if (isOrdinal) {
11
- if (n === 5 || (n % 100) === 5)
12
- return "many";
13
- if ((n >= 1 && n <= 4) || ((((((n % 100) >= 1 && (n % 100) <= 4) || ((n % 100) >= 21 && (n % 100) <= 24)) || ((n % 100) >= 41 && (n % 100) <= 44)) || ((n % 100) >= 61 && (n % 100) <= 64)) || ((n % 100) >= 81 && (n % 100) <= 84)))
19
+ if ((!/[1-9]/.test(decimalPart) && (n >= 1 && n <= 4)) || (!/[1-9]/.test(decimalPart) && (((((modDigits(integerPart, 100) >= 1 && modDigits(integerPart, 100) <= 4) || (modDigits(integerPart, 100) >= 21 && modDigits(integerPart, 100) <= 24)) || (modDigits(integerPart, 100) >= 41 && modDigits(integerPart, 100) <= 44)) || (modDigits(integerPart, 100) >= 61 && modDigits(integerPart, 100) <= 64)) || (modDigits(integerPart, 100) >= 81 && modDigits(integerPart, 100) <= 84))))
14
20
  return "one";
21
+ if ((!/[1-9]/.test(decimalPart) && n === 5) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 100) === 5))
22
+ return "many";
15
23
  }
16
24
  else {
17
- if ((((((n % 100) === 3 || (n % 100) === 23) || (n % 100) === 43) || (n % 100) === 63) || (n % 100) === 83))
18
- return "few";
19
- if (n !== 1 && (((((n % 100) === 1 || (n % 100) === 21) || (n % 100) === 41) || (n % 100) === 61) || (n % 100) === 81))
20
- return "many";
21
- if (n === 1)
25
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
26
+ return "zero";
27
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
22
28
  return "one";
23
- if ((((((n % 100) === 2 || (n % 100) === 22) || (n % 100) === 42) || (n % 100) === 62) || (n % 100) === 82) || (n % 1000) === 0 && (((((n % 100000) >= 1000 && (n % 100000) <= 20000) || (n % 100000) === 40000) || (n % 100000) === 60000) || (n % 100000) === 80000) || n !== 0 && (n % 1000000) === 100000)
29
+ if ((!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 2 || modDigits(integerPart, 100) === 22) || modDigits(integerPart, 100) === 42) || modDigits(integerPart, 100) === 62) || modDigits(integerPart, 100) === 82)) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 1000) === 0) && (!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100000) >= 1000 && modDigits(integerPart, 100000) <= 20000) || modDigits(integerPart, 100000) === 40000) || modDigits(integerPart, 100000) === 60000) || modDigits(integerPart, 100000) === 80000)) || (/[1-9]/.test(decimalPart) || n !== 0) && (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 1000000) === 100000))
24
30
  return "two";
25
- if (n === 0)
26
- return "zero";
31
+ if ((!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 3 || modDigits(integerPart, 100) === 23) || modDigits(integerPart, 100) === 43) || modDigits(integerPart, 100) === 63) || modDigits(integerPart, 100) === 83)))
32
+ return "few";
33
+ if ((/[1-9]/.test(decimalPart) || n !== 1) && (!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 1 || modDigits(integerPart, 100) === 21) || modDigits(integerPart, 100) === 41) || modDigits(integerPart, 100) === 61) || modDigits(integerPart, 100) === 81)))
34
+ return "many";
27
35
  }
28
36
  return "other";
29
37
  }},"locale":"kw"})
30
38
  } else {
31
39
  (globalThis.__FORMATJS_PLURALRULES_DATA__ = globalThis.__FORMATJS_PLURALRULES_DATA__ || []).push({"data":{"categories":{"cardinal":["few","many","one","other","two","zero"],"ordinal":["many","one","other"]},"fn":function(num, isOrdinal, exponent = 0) {
40
+ function modDigits(digits, divisor) {
41
+ let value = 0;
42
+ for (let index = 0; index < digits.length; index++) {
43
+ const digit = digits.charCodeAt(index) - 48;
44
+ if (digit >= 0 && digit <= 9) value = (value * 10 + digit) % divisor;
45
+ }
46
+ return value;
47
+ }
32
48
  const numStr = String(num);
33
49
  const parts = numStr.split(".");
34
50
  const integerPart = parts[0];
35
51
  const decimalPart = parts[1] || "";
36
52
  const n = Math.abs(parseFloat(numStr));
37
53
  if (isOrdinal) {
38
- if (n === 5 || (n % 100) === 5)
39
- return "many";
40
- if ((n >= 1 && n <= 4) || ((((((n % 100) >= 1 && (n % 100) <= 4) || ((n % 100) >= 21 && (n % 100) <= 24)) || ((n % 100) >= 41 && (n % 100) <= 44)) || ((n % 100) >= 61 && (n % 100) <= 64)) || ((n % 100) >= 81 && (n % 100) <= 84)))
54
+ if ((!/[1-9]/.test(decimalPart) && (n >= 1 && n <= 4)) || (!/[1-9]/.test(decimalPart) && (((((modDigits(integerPart, 100) >= 1 && modDigits(integerPart, 100) <= 4) || (modDigits(integerPart, 100) >= 21 && modDigits(integerPart, 100) <= 24)) || (modDigits(integerPart, 100) >= 41 && modDigits(integerPart, 100) <= 44)) || (modDigits(integerPart, 100) >= 61 && modDigits(integerPart, 100) <= 64)) || (modDigits(integerPart, 100) >= 81 && modDigits(integerPart, 100) <= 84))))
41
55
  return "one";
56
+ if ((!/[1-9]/.test(decimalPart) && n === 5) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 100) === 5))
57
+ return "many";
42
58
  }
43
59
  else {
44
- if ((((((n % 100) === 3 || (n % 100) === 23) || (n % 100) === 43) || (n % 100) === 63) || (n % 100) === 83))
45
- return "few";
46
- if (n !== 1 && (((((n % 100) === 1 || (n % 100) === 21) || (n % 100) === 41) || (n % 100) === 61) || (n % 100) === 81))
47
- return "many";
48
- if (n === 1)
60
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
61
+ return "zero";
62
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
49
63
  return "one";
50
- if ((((((n % 100) === 2 || (n % 100) === 22) || (n % 100) === 42) || (n % 100) === 62) || (n % 100) === 82) || (n % 1000) === 0 && (((((n % 100000) >= 1000 && (n % 100000) <= 20000) || (n % 100000) === 40000) || (n % 100000) === 60000) || (n % 100000) === 80000) || n !== 0 && (n % 1000000) === 100000)
64
+ if ((!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 2 || modDigits(integerPart, 100) === 22) || modDigits(integerPart, 100) === 42) || modDigits(integerPart, 100) === 62) || modDigits(integerPart, 100) === 82)) || (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 1000) === 0) && (!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100000) >= 1000 && modDigits(integerPart, 100000) <= 20000) || modDigits(integerPart, 100000) === 40000) || modDigits(integerPart, 100000) === 60000) || modDigits(integerPart, 100000) === 80000)) || (/[1-9]/.test(decimalPart) || n !== 0) && (!/[1-9]/.test(decimalPart) && modDigits(integerPart, 1000000) === 100000))
51
65
  return "two";
52
- if (n === 0)
53
- return "zero";
66
+ if ((!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 3 || modDigits(integerPart, 100) === 23) || modDigits(integerPart, 100) === 43) || modDigits(integerPart, 100) === 63) || modDigits(integerPart, 100) === 83)))
67
+ return "few";
68
+ if ((/[1-9]/.test(decimalPart) || n !== 1) && (!/[1-9]/.test(decimalPart) && ((((modDigits(integerPart, 100) === 1 || modDigits(integerPart, 100) === 21) || modDigits(integerPart, 100) === 41) || modDigits(integerPart, 100) === 61) || modDigits(integerPart, 100) === 81)))
69
+ return "many";
54
70
  }
55
71
  return "other";
56
72
  }},"locale":"kw"})
package/locale-data/ky.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
@@ -11,10 +11,10 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
11
11
  if (isOrdinal) {
12
12
  }
13
13
  else {
14
- if ((i === 0 || i === 1) && n !== 0)
15
- return "one";
16
- if (n === 0)
14
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
17
15
  return "zero";
16
+ if ((i === 0 || i === 1) && (/[1-9]/.test(decimalPart) || n !== 0))
17
+ return "one";
18
18
  }
19
19
  return "other";
20
20
  }},"locale":"lag"})
@@ -29,10 +29,10 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
29
29
  if (isOrdinal) {
30
30
  }
31
31
  else {
32
- if ((i === 0 || i === 1) && n !== 0)
33
- return "one";
34
- if (n === 0)
32
+ if ((!/[1-9]/.test(decimalPart) && n === 0))
35
33
  return "zero";
34
+ if ((i === 0 || i === 1) && (/[1-9]/.test(decimalPart) || n !== 0))
35
+ return "one";
36
36
  }
37
37
  return "other";
38
38
  }},"locale":"lag"})
package/locale-data/lb.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
package/locale-data/lg.js CHANGED
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  if (isOrdinal) {
11
11
  }
12
12
  else {
13
- if (n === 1)
13
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
14
14
  return "one";
15
15
  }
16
16
  return "other";
@@ -25,7 +25,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
25
25
  if (isOrdinal) {
26
26
  }
27
27
  else {
28
- if (n === 1)
28
+ if ((!/[1-9]/.test(decimalPart) && n === 1))
29
29
  return "one";
30
30
  }
31
31
  return "other";
@@ -10,7 +10,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
10
10
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
11
11
  const v = decimalPart.length;
12
12
  if (isOrdinal) {
13
- if ((((n === 11 || n === 8) || (n >= 80 && n <= 89)) || (n >= 800 && n <= 899)))
13
+ if ((!/[1-9]/.test(decimalPart) && (((n === 11 || n === 8) || (n >= 80 && n <= 89)) || (n >= 800 && n <= 899))))
14
14
  return "many";
15
15
  }
16
16
  else {
@@ -29,7 +29,7 @@ if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function')
29
29
  const i = Math.floor(Math.abs(parseFloat(integerPart)));
30
30
  const v = decimalPart.length;
31
31
  if (isOrdinal) {
32
- if ((((n === 11 || n === 8) || (n >= 80 && n <= 89)) || (n >= 800 && n <= 899)))
32
+ if ((!/[1-9]/.test(decimalPart) && (((n === 11 || n === 8) || (n >= 80 && n <= 89)) || (n >= 800 && n <= 899))))
33
33
  return "many";
34
34
  }
35
35
  else {