n2words 4.0.0 → 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 (309) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +14 -12
  3. package/dist/am-ET.js +2 -2
  4. package/dist/am-ET.umd.js +2 -2
  5. package/dist/am-Latn-ET.js +2 -2
  6. package/dist/am-Latn-ET.umd.js +2 -2
  7. package/dist/ar-SA.js +2 -2
  8. package/dist/ar-SA.umd.js +2 -2
  9. package/dist/az-AZ.js +2 -2
  10. package/dist/az-AZ.umd.js +2 -2
  11. package/dist/bn-BD.js +2 -2
  12. package/dist/bn-BD.umd.js +2 -2
  13. package/dist/cs-CZ.js +2 -2
  14. package/dist/cs-CZ.umd.js +2 -2
  15. package/dist/da-DK.js +2 -2
  16. package/dist/da-DK.umd.js +2 -2
  17. package/dist/de-DE.js +2 -2
  18. package/dist/de-DE.umd.js +2 -2
  19. package/dist/el-GR.js +2 -2
  20. package/dist/el-GR.umd.js +2 -2
  21. package/dist/en-AU.js +2 -2
  22. package/dist/en-AU.umd.js +2 -2
  23. package/dist/en-BD.js +2 -2
  24. package/dist/en-BD.umd.js +2 -2
  25. package/dist/en-CA.js +2 -2
  26. package/dist/en-CA.umd.js +2 -2
  27. package/dist/en-GB.js +2 -2
  28. package/dist/en-GB.umd.js +2 -2
  29. package/dist/en-GH.js +2 -2
  30. package/dist/en-GH.umd.js +2 -2
  31. package/dist/en-IE.js +2 -2
  32. package/dist/en-IE.umd.js +2 -2
  33. package/dist/en-IN.js +2 -2
  34. package/dist/en-IN.umd.js +2 -2
  35. package/dist/en-KE.js +2 -2
  36. package/dist/en-KE.umd.js +2 -2
  37. package/dist/en-MY.js +2 -2
  38. package/dist/en-MY.umd.js +2 -2
  39. package/dist/en-NG.js +2 -2
  40. package/dist/en-NG.umd.js +2 -2
  41. package/dist/en-NZ.js +2 -2
  42. package/dist/en-NZ.umd.js +2 -2
  43. package/dist/en-PH.js +2 -2
  44. package/dist/en-PH.umd.js +2 -2
  45. package/dist/en-PK.js +2 -2
  46. package/dist/en-PK.umd.js +2 -2
  47. package/dist/en-SG.js +2 -2
  48. package/dist/en-SG.umd.js +2 -2
  49. package/dist/en-US.js +2 -2
  50. package/dist/en-US.umd.js +2 -2
  51. package/dist/en-ZA.js +2 -2
  52. package/dist/en-ZA.umd.js +2 -2
  53. package/dist/es-ES.js +2 -2
  54. package/dist/es-ES.umd.js +2 -2
  55. package/dist/es-MX.js +2 -2
  56. package/dist/es-MX.umd.js +2 -2
  57. package/dist/es-US.js +2 -2
  58. package/dist/es-US.umd.js +2 -2
  59. package/dist/fa-IR.js +2 -2
  60. package/dist/fa-IR.umd.js +2 -2
  61. package/dist/fi-FI.js +2 -2
  62. package/dist/fi-FI.umd.js +2 -2
  63. package/dist/fil-PH.js +2 -2
  64. package/dist/fil-PH.umd.js +2 -2
  65. package/dist/fr-BE.js +2 -2
  66. package/dist/fr-BE.umd.js +2 -2
  67. package/dist/fr-FR.js +2 -2
  68. package/dist/fr-FR.umd.js +2 -2
  69. package/dist/gu-IN.js +2 -2
  70. package/dist/gu-IN.umd.js +2 -2
  71. package/dist/ha-NG.js +2 -2
  72. package/dist/ha-NG.umd.js +2 -2
  73. package/dist/hbo-IL.js +2 -2
  74. package/dist/hbo-IL.umd.js +2 -2
  75. package/dist/he-IL.js +2 -2
  76. package/dist/he-IL.umd.js +2 -2
  77. package/dist/hi-IN.js +2 -2
  78. package/dist/hi-IN.umd.js +2 -2
  79. package/dist/hr-HR.js +2 -2
  80. package/dist/hr-HR.umd.js +2 -2
  81. package/dist/hu-HU.js +2 -2
  82. package/dist/hu-HU.umd.js +2 -2
  83. package/dist/id-ID.js +2 -2
  84. package/dist/id-ID.umd.js +2 -2
  85. package/dist/it-IT.js +2 -2
  86. package/dist/it-IT.umd.js +2 -2
  87. package/dist/ja-JP.js +2 -2
  88. package/dist/ja-JP.umd.js +2 -2
  89. package/dist/ka-GE.js +2 -2
  90. package/dist/ka-GE.umd.js +2 -2
  91. package/dist/kn-IN.js +2 -2
  92. package/dist/kn-IN.umd.js +2 -2
  93. package/dist/ko-KR.js +2 -2
  94. package/dist/ko-KR.umd.js +2 -2
  95. package/dist/lt-LT.js +2 -2
  96. package/dist/lt-LT.umd.js +2 -2
  97. package/dist/lv-LV.js +2 -2
  98. package/dist/lv-LV.umd.js +2 -2
  99. package/dist/mr-IN.js +2 -2
  100. package/dist/mr-IN.umd.js +2 -2
  101. package/dist/ms-MY.js +2 -2
  102. package/dist/ms-MY.umd.js +2 -2
  103. package/dist/nb-NO.js +2 -2
  104. package/dist/nb-NO.umd.js +2 -2
  105. package/dist/nl-NL.js +2 -2
  106. package/dist/nl-NL.umd.js +2 -2
  107. package/dist/pa-IN.js +2 -2
  108. package/dist/pa-IN.umd.js +2 -2
  109. package/dist/pl-PL.js +2 -2
  110. package/dist/pl-PL.umd.js +2 -2
  111. package/dist/pt-BR.js +2 -0
  112. package/dist/pt-BR.umd.js +2 -0
  113. package/dist/pt-PT.js +2 -2
  114. package/dist/pt-PT.umd.js +2 -2
  115. package/dist/ro-RO.js +2 -2
  116. package/dist/ro-RO.umd.js +2 -2
  117. package/dist/ru-RU.js +2 -2
  118. package/dist/ru-RU.umd.js +2 -2
  119. package/dist/sr-Cyrl-RS.js +2 -2
  120. package/dist/sr-Cyrl-RS.umd.js +2 -2
  121. package/dist/sr-Latn-RS.js +2 -2
  122. package/dist/sr-Latn-RS.umd.js +2 -2
  123. package/dist/sv-SE.js +2 -2
  124. package/dist/sv-SE.umd.js +2 -2
  125. package/dist/sw-KE.js +2 -2
  126. package/dist/sw-KE.umd.js +2 -2
  127. package/dist/ta-IN.js +2 -2
  128. package/dist/ta-IN.umd.js +2 -2
  129. package/dist/te-IN.js +2 -2
  130. package/dist/te-IN.umd.js +2 -2
  131. package/dist/th-TH.js +2 -2
  132. package/dist/th-TH.umd.js +2 -2
  133. package/dist/tr-TR.js +2 -2
  134. package/dist/tr-TR.umd.js +2 -2
  135. package/dist/uk-UA.js +2 -2
  136. package/dist/uk-UA.umd.js +2 -2
  137. package/dist/ur-PK.js +2 -2
  138. package/dist/ur-PK.umd.js +2 -2
  139. package/dist/vi-VN.js +2 -2
  140. package/dist/vi-VN.umd.js +2 -2
  141. package/dist/yo-NG.js +2 -2
  142. package/dist/yo-NG.umd.js +2 -2
  143. package/dist/zh-Hans-CN.js +2 -2
  144. package/dist/zh-Hans-CN.umd.js +2 -2
  145. package/dist/zh-Hant-TW.js +2 -2
  146. package/dist/zh-Hant-TW.umd.js +2 -2
  147. package/package.json +53 -36
  148. package/src/am-ET.d.ts +3 -5
  149. package/src/am-ET.js +41 -16
  150. package/src/am-Latn-ET.d.ts +3 -5
  151. package/src/am-Latn-ET.js +45 -16
  152. package/src/ar-SA.d.ts +44 -18
  153. package/src/ar-SA.js +93 -40
  154. package/src/az-AZ.d.ts +3 -5
  155. package/src/az-AZ.js +58 -20
  156. package/src/bn-BD.d.ts +3 -5
  157. package/src/bn-BD.js +32 -16
  158. package/src/cs-CZ.d.ts +3 -6
  159. package/src/cs-CZ.js +66 -42
  160. package/src/da-DK.d.ts +3 -6
  161. package/src/da-DK.js +53 -48
  162. package/src/de-DE.d.ts +17 -11
  163. package/src/de-DE.js +88 -57
  164. package/src/el-GR.d.ts +3 -6
  165. package/src/el-GR.js +45 -32
  166. package/src/en-AU.d.ts +17 -11
  167. package/src/en-AU.js +56 -41
  168. package/src/en-BD.d.ts +17 -11
  169. package/src/en-BD.js +60 -41
  170. package/src/en-CA.d.ts +36 -18
  171. package/src/en-CA.js +67 -46
  172. package/src/en-GB.d.ts +17 -11
  173. package/src/en-GB.js +56 -41
  174. package/src/en-GH.d.ts +32 -3
  175. package/src/en-GH.js +104 -26
  176. package/src/en-IE.d.ts +17 -11
  177. package/src/en-IE.js +56 -41
  178. package/src/en-IN.d.ts +17 -11
  179. package/src/en-IN.js +60 -41
  180. package/src/en-KE.d.ts +28 -3
  181. package/src/en-KE.js +93 -26
  182. package/src/en-MY.d.ts +26 -3
  183. package/src/en-MY.js +91 -26
  184. package/src/en-NG.d.ts +17 -11
  185. package/src/en-NG.js +56 -41
  186. package/src/en-NZ.d.ts +32 -3
  187. package/src/en-NZ.js +85 -31
  188. package/src/en-PH.d.ts +32 -3
  189. package/src/en-PH.js +97 -26
  190. package/src/en-PK.d.ts +17 -11
  191. package/src/en-PK.js +60 -41
  192. package/src/en-SG.d.ts +28 -3
  193. package/src/en-SG.js +93 -26
  194. package/src/en-US.d.ts +36 -18
  195. package/src/en-US.js +70 -47
  196. package/src/en-ZA.d.ts +17 -11
  197. package/src/en-ZA.js +56 -41
  198. package/src/es-ES.d.ts +53 -21
  199. package/src/es-ES.js +104 -56
  200. package/src/es-MX.d.ts +53 -21
  201. package/src/es-MX.js +104 -56
  202. package/src/es-US.d.ts +53 -21
  203. package/src/es-US.js +92 -51
  204. package/src/fa-IR.d.ts +3 -5
  205. package/src/fa-IR.js +28 -13
  206. package/src/fi-FI.d.ts +3 -6
  207. package/src/fi-FI.js +47 -29
  208. package/src/fil-PH.d.ts +3 -5
  209. package/src/fil-PH.js +61 -28
  210. package/src/fr-BE.d.ts +31 -15
  211. package/src/fr-BE.js +128 -57
  212. package/src/fr-FR.d.ts +31 -16
  213. package/src/fr-FR.js +97 -60
  214. package/src/gu-IN.d.ts +3 -5
  215. package/src/gu-IN.js +31 -16
  216. package/src/ha-NG.d.ts +3 -5
  217. package/src/ha-NG.js +55 -27
  218. package/src/hbo-IL.d.ts +26 -12
  219. package/src/hbo-IL.js +92 -51
  220. package/src/he-IL.d.ts +17 -10
  221. package/src/he-IL.js +92 -50
  222. package/src/hi-IN.d.ts +3 -5
  223. package/src/hi-IN.js +30 -17
  224. package/src/hr-HR.d.ts +21 -10
  225. package/src/hr-HR.js +89 -33
  226. package/src/hu-HU.d.ts +3 -5
  227. package/src/hu-HU.js +57 -23
  228. package/src/id-ID.d.ts +3 -5
  229. package/src/id-ID.js +56 -23
  230. package/src/it-IT.d.ts +17 -11
  231. package/src/it-IT.js +74 -43
  232. package/src/ja-JP.d.ts +3 -6
  233. package/src/ja-JP.js +39 -26
  234. package/src/ka-GE.d.ts +3 -6
  235. package/src/ka-GE.js +38 -26
  236. package/src/kn-IN.d.ts +3 -5
  237. package/src/kn-IN.js +31 -16
  238. package/src/ko-KR.d.ts +3 -6
  239. package/src/ko-KR.js +34 -26
  240. package/src/lt-LT.d.ts +21 -11
  241. package/src/lt-LT.js +64 -42
  242. package/src/lv-LV.d.ts +21 -11
  243. package/src/lv-LV.js +79 -51
  244. package/src/mr-IN.d.ts +3 -5
  245. package/src/mr-IN.js +31 -16
  246. package/src/ms-MY.d.ts +3 -5
  247. package/src/ms-MY.js +58 -24
  248. package/src/nb-NO.d.ts +3 -6
  249. package/src/nb-NO.js +54 -34
  250. package/src/nl-NL.d.ts +41 -20
  251. package/src/nl-NL.js +111 -69
  252. package/src/pa-IN.d.ts +3 -5
  253. package/src/pa-IN.js +32 -16
  254. package/src/pl-PL.d.ts +21 -11
  255. package/src/pl-PL.js +69 -45
  256. package/src/pt-BR.d.ts +42 -0
  257. package/src/pt-BR.js +574 -0
  258. package/src/pt-PT.d.ts +17 -11
  259. package/src/pt-PT.js +80 -48
  260. package/src/ro-RO.d.ts +21 -11
  261. package/src/ro-RO.js +77 -39
  262. package/src/ru-RU.d.ts +35 -15
  263. package/src/ru-RU.js +100 -38
  264. package/src/sr-Cyrl-RS.d.ts +35 -15
  265. package/src/sr-Cyrl-RS.js +100 -38
  266. package/src/sr-Latn-RS.d.ts +35 -15
  267. package/src/sr-Latn-RS.js +100 -38
  268. package/src/sv-SE.d.ts +3 -6
  269. package/src/sv-SE.js +53 -34
  270. package/src/sw-KE.d.ts +3 -5
  271. package/src/sw-KE.js +50 -20
  272. package/src/ta-IN.d.ts +3 -5
  273. package/src/ta-IN.js +29 -17
  274. package/src/te-IN.d.ts +3 -5
  275. package/src/te-IN.js +31 -16
  276. package/src/th-TH.d.ts +3 -5
  277. package/src/th-TH.js +42 -19
  278. package/src/tr-TR.d.ts +17 -11
  279. package/src/tr-TR.js +63 -37
  280. package/src/uk-UA.d.ts +21 -10
  281. package/src/uk-UA.js +89 -33
  282. package/src/ur-PK.d.ts +3 -5
  283. package/src/ur-PK.js +32 -16
  284. package/src/utils/check-max.d.ts +26 -0
  285. package/src/utils/check-max.js +33 -0
  286. package/src/utils/expand-scientific.d.ts +0 -4
  287. package/src/utils/expand-scientific.js +7 -9
  288. package/src/utils/is-plain-object.d.ts +3 -4
  289. package/src/utils/is-plain-object.js +3 -4
  290. package/src/utils/parse-cardinal.d.ts +1 -2
  291. package/src/utils/parse-cardinal.js +12 -9
  292. package/src/utils/parse-currency.d.ts +1 -2
  293. package/src/utils/parse-currency.js +9 -11
  294. package/src/utils/parse-ordinal.d.ts +0 -1
  295. package/src/utils/parse-ordinal.js +9 -10
  296. package/src/utils/resolve-options.d.ts +17 -0
  297. package/src/utils/resolve-options.js +56 -0
  298. package/src/utils/scale.d.ts +49 -0
  299. package/src/utils/scale.js +65 -0
  300. package/src/vi-VN.d.ts +3 -6
  301. package/src/vi-VN.js +41 -28
  302. package/src/yo-NG.d.ts +3 -5
  303. package/src/yo-NG.js +49 -33
  304. package/src/zh-Hans-CN.d.ts +45 -20
  305. package/src/zh-Hans-CN.js +84 -31
  306. package/src/zh-Hant-TW.d.ts +45 -20
  307. package/src/zh-Hant-TW.js +85 -34
  308. package/src/utils/validate-options.d.ts +0 -8
  309. package/src/utils/validate-options.js +0 -16
package/dist/lt-LT.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/lt-LT v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- var i,t;i=this,t=function(i){"use strict";function t(i){let[t,e]=i.toLowerCase().split("e");const n=parseInt(e,10);let r="";"-"===t[0]&&(r="-",t=t.slice(1));const s=t.indexOf("."),o=-1===s?t:t.slice(0,s)+t.slice(s+1),a=(-1===s?t.length:s)+n;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function e(i){const e=i.toString();return n(e)?t(e):e}function n(i){return i.includes("e")||i.includes("E")}function r(i){const t="-"===i[0];t&&(i=i.slice(1));const e=i.indexOf(".");if(-1===e)return{isNegative:t,integerPart:BigInt(i)};const n=i.slice(0,e)||"0",r=i.slice(e+1);return{isNegative:t,integerPart:BigInt(n),decimalPart:r}}function s(i){let e=i.trim();if(0===e.length||Number.isNaN(Number(e)))throw new RangeError(`Invalid currency format: "${i}"`);n(e)&&(e=t(e));const r="-"===e[0];r&&(e=e.slice(1));const s=e.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(e),cents:0n};const o=e.slice(0,s)||"0",a=(e.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}const o=["","vienas","du","trys","keturi","penki","šeši","septyni","aštuoni","devyni"],a=["","viena","dvi","trys","keturios","penkios","šešios","septynios","aštuonios","devynios"],u=["dešimt","vienuolika","dvylika","trylika","keturiolika","penkiolika","šešiolika","septyniolika","aštuoniolika","devyniolika"],l=["","","dvidešimt","trisdešimt","keturiasdešimt","penkiasdešimt","šešiasdešimt","septyniasdešimt","aštuoniasdešimt","devyniasdešimt"],c="šimtas",f="šimtai",d="nulis",m="minus",g=["","pirmas","antras","trečias","ketvirtas","penktas","šeštas","septintas","aštuntas","devintas"],p=["dešimtas","vienuoliktas","dvyliktas","tryliktas","keturioliktas","penkioliktas","šešioliktas","septynioliktas","aštuonioliktas","devynioliktas"],h=["","","dvidešimtas","trisdešimtas","keturiasdešimtas","penkiasdešimtas","šešiasdešimtas","septyniasdešimtas","aštuoniasdešimtas","devyniasdešimtas"],b=["","šimtasis","dviejų šimtasis","trijų šimtasis","keturių šimtasis","penkių šimtasis","šešių šimtasis","septynių šimtasis","aštuonių šimtasis","devynių šimtasis"],v=["tūkstantasis","milijonasis","milijardasis","trilijonasis"],k=["euras","eurai","eurų"],w=["centas","centai","centų"],y=[["tūkstantis","tūkstančiai","tūkstančių"],["milijonas","milijonai","milijonų"],["milijardas","milijardai","milijardų"],["trilijonas","trilijonai","trilijonų"],["kvadrilijonas","kvadrilijonai","kvadrilijonų"],["kvintilijonas","kvintilijonai","kvintilijonų"],["sikstilijonas","sikstilijonai","sikstilijonų"],["septilijonas","septilijonai","septilijonų"],["oktilijonas","oktilijonai","oktilijonų"]];function N(i){if(0===i)return"";const t=i%10,e=Math.trunc(i/10)%10,n=Math.trunc(i/100),r=[];return n>0&&(r.push(o[n]),r.push(1===n?c:f)),e>1&&r.push(l[e]),1===e?r.push(u[t]):t>0&&r.push(o[t]),r.join(" ")}function j(i,t){if(0===i)return t[2];const e=i%10,n=i%100;return n>=10&&n<=19||0===e?t[2]:1===e?t[0]:t[1]}function I(i,t){if(0n===i)return d;if(i<1000n){const e=Number(i);return"feminine"===t?function(i){if(0===i)return"";const t=i%10,e=Math.trunc(i/10)%10,n=Math.trunc(i/100),r=[];return n>0&&(r.push(o[n]),r.push(1===n?c:f)),e>1&&r.push(l[e]),1===e?r.push(u[t]):t>0&&r.push(a[t]),r.join(" ")}(e):N(e)}return function(i){const t=i.toString(),e=t.length,n=[],r=e%3;let s=0;for(r>0&&(n.push(Number(t.slice(0,r))),s=r);s<e;)n.push(Number(t.slice(s,s+3))),s+=3;const o=[];let a=n.length-1;for(let i=0;i<n.length;i++){const t=n[i];if(0!==t){const i=N(t);if(0===a)o.push(i);else{const e=j(t,y[a-1]);o.push(i+" "+e)}}a--}return o.join(" ")}(i)}function E(i){if(0===i)return"";const t=i%10,e=Math.trunc(i/10);return 0===e?g[t]:1===e?p[t]:0===t?h[e]:l[e]+" "+g[t]}function O(i){if(i<100n)return E(Number(i));if(i<1000n){const t=Number(i),e=Math.trunc(t/100),n=t%100;return 0===n?b[e]:o[e]+" "+(1===e?c:f)+" "+E(n)}if(i<1000000n){const t=Number(i/1000n),e=Number(i%1000n);if(0===e){if(1===t)return v[0];const i=j(t,y[0]);return N(t)+" "+i+" "+v[0]}const n=j(t,y[0]);return N(t)+" "+n+" "+O(BigInt(e))}return function(i){const t=i.toString(),e=t.length,n=[],r=e%3;let s=0;for(r>0&&(n.push(Number(t.slice(0,r))),s=r);s<e;)n.push(Number(t.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let i=0;i<n.length;i++){const t=n[i];if(0!==t){const e=i===o;if(0===u)a.push(e?O(BigInt(t)):N(t));else if(e)if(1===t)a.push(v[u-1]);else{const i=j(t,y[u-1]);a.push(N(t)+" "+i+" "+v[u-1])}else{const i=j(t,y[u-1]);a.push(N(t)+" "+i)}}u--}return a.join(" ")}(i)}const R={ltLT:function(i){return O(function(i){const e=typeof i;if("bigint"===e){if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}if("number"===e){if(!Number.isFinite(i))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(i))throw new RangeError("Ordinals must be whole numbers");if(i<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(i)}if("string"===e)return function(i){const e=i.trim();if(0===e.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===e[0])throw new RangeError("Ordinals cannot be negative");if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");if(n(e)){const i=t(e);if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");const n=BigInt(i);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}try{const i=BigInt(e);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}catch(t){if(t instanceof RangeError)throw t;throw new RangeError(`Invalid ordinal format: "${i}"`)}}(i);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(i))}};i.currency={ltLT:function(i){const{isNegative:t,dollars:n,cents:r}=function(i){const t=typeof i;if("bigint"===t)return i<0n?{isNegative:!0,dollars:-i,cents:0n}:{isNegative:!1,dollars:i,cents:0n};if("number"===t){if(!Number.isFinite(i))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(i)?i<0?{isNegative:!0,dollars:BigInt(-i),cents:0n}:{isNegative:!1,dollars:BigInt(i),cents:0n}:s(e(i))}if("string"===t)return s(i);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(i);let o="";return t&&(o=m+" "),(n>0n||0n===r)&&(o+=I(n,"masculine"),o+=" "+j(Number(n),k)),r>0n&&(n>0n&&(o+=" "),o+=I(r,"masculine"),o+=" "+j(Number(r),w)),o}},i.ltLT=function(i,s){s=function(i){if(void 0===i)return{};if(function(i){if(null===i||"object"!=typeof i)return!1;const t=Object.getPrototypeOf(i);return null===t||t===Object.prototype}(i))return i;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof i)}(s);const{isNegative:o,integerPart:a,decimalPart:u}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(e(i))}if("string"===s)return r(function(i){const e=i.trim();if(0===e.length||Number.isNaN(Number(e)))throw new RangeError(`Invalid number format: "${i}"`);return n(e)?t(e):e}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i),{gender:l="masculine"}=s;let c="";return o&&(c=m+" "),c+=I(a,l),u&&(c+=" kablelis "+function(i,t){let e="",n=0;for(;n<i.length&&"0"===i[n];)e&&(e+=" "),e+=d,n++;const r=i.slice(n);return r&&(e&&(e+=" "),e+=I(BigInt(r),t)),e}(u,l)),c},i.ordinal=R},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((i="undefined"!=typeof globalThis?globalThis:i||self).n2words=i.n2words||{});
1
+ /*! n2words/lt-LT v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ var t,e;t=this,e=function(t){"use strict";function e(t){let[e,i]=t.toLowerCase().split("e");const n=parseInt(i,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),o=-1===s?e:e.slice(0,s)+e.slice(s+1),a=(-1===s?e.length:s)+n;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function i(t){const i=t.toString();return n(i)?e(i):i}function n(t){return t.includes("e")||t.includes("E")}function r(t){const e="-"===t[0];e&&(t=t.slice(1));const i=t.indexOf(".");if(-1===i)return{isNegative:e,integerPart:BigInt(t)};const n=t.slice(0,i)||"0",r=t.slice(i+1);return{isNegative:e,integerPart:BigInt(n),decimalPart:r}}function s(t){let i=t.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${t}"`);n(i)&&(i=e(i));const r="-"===i[0];r&&(i=i.slice(1));const s=i.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(i),cents:0n};const o=i.slice(0,s)||"0",a=(i.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}function o(t,e,i){if(null===e)return;if(t<e&&!(i&&BigInt(i)>=e))return;const n=e.toString().length-1,r=e===10n**BigInt(n)?`10^${n} - 1`:""+(e-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${r}`)}function a(t){return 10n**BigInt(3*(t+1))}const u=["","vienas","du","trys","keturi","penki","šeši","septyni","aštuoni","devyni"],l=["","viena","dvi","trys","keturios","penkios","šešios","septynios","aštuonios","devynios"],c=["dešimt","vienuolika","dvylika","trylika","keturiolika","penkiolika","šešiolika","septyniolika","aštuoniolika","devyniolika"],f=["","","dvidešimt","trisdešimt","keturiasdešimt","penkiasdešimt","šešiasdešimt","septyniasdešimt","aštuoniasdešimt","devyniasdešimt"],g="šimtas",d="šimtai",m="nulis",p="minus",h=["","pirmas","antras","trečias","ketvirtas","penktas","šeštas","septintas","aštuntas","devintas"],b=["dešimtas","vienuoliktas","dvyliktas","tryliktas","keturioliktas","penkioliktas","šešioliktas","septynioliktas","aštuonioliktas","devynioliktas"],v=["","","dvidešimtas","trisdešimtas","keturiasdešimtas","penkiasdešimtas","šešiasdešimtas","septyniasdešimtas","aštuoniasdešimtas","devyniasdešimtas"],y=["","šimtasis","dviejų šimtasis","trijų šimtasis","keturių šimtasis","penkių šimtasis","šešių šimtasis","septynių šimtasis","aštuonių šimtasis","devynių šimtasis"],w=["tūkstantasis","milijonasis","milijardasis","trilijonasis"],k=["euras","eurai","eurų"],j=["centas","centai","centų"],N=[["tūkstantis","tūkstančiai","tūkstančių"],["milijonas","milijonai","milijonų"],["milijardas","milijardai","milijardų"],["trilijonas","trilijonai","trilijonų"],["kvadrilijonas","kvadrilijonai","kvadrilijonų"],["kvintilijonas","kvintilijonai","kvintilijonų"],["sikstilijonas","sikstilijonai","sikstilijonų"],["septilijonas","septilijonai","septilijonų"],["oktilijonas","oktilijonai","oktilijonų"]],I=a(N.length),E=a(w.length),O=a(N.length);function B(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(r.push(u[n]),r.push(1===n?g:d)),i>1&&r.push(f[i]),1===i?r.push(c[e]):e>0&&r.push(u[e]),r.join(" ")}function R(t,e){if(0===t)return e[2];const i=t%10,n=t%100;return n>=10&&n<=19||0===i?e[2]:1===i?e[0]:e[1]}function $(t,e){if(0n===t)return m;if(t<1000n){const i=Number(t);return"feminine"===e?function(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(r.push(u[n]),r.push(1===n?g:d)),i>1&&r.push(f[i]),1===i?r.push(c[e]):e>0&&r.push(l[e]),r.join(" ")}(i):B(i)}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;const o=[];let a=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const t=B(e);if(0===a)o.push(t);else{const i=R(e,N[a-1]);o.push(t+" "+i)}}a--}return o.join(" ")}(t)}const x={gender:"masculine"},T={gender:["masculine","feminine"]};function P(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10);return 0===i?h[e]:1===i?b[e]:0===e?v[i]:f[i]+" "+h[e]}function S(t){if(t<100n)return P(Number(t));if(t<1000n){const e=Number(t),i=Math.trunc(e/100),n=e%100;return 0===n?y[i]:u[i]+" "+(1===i?g:d)+" "+P(n)}if(t<1000000n){const e=Number(t/1000n),i=Number(t%1000n);if(0===i){if(1===e)return w[0];const t=R(e,N[0]);return B(e)+" "+t+" "+w[0]}const n=R(e,N[0]);return B(e)+" "+n+" "+S(BigInt(i))}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const i=t===o;if(0===u)a.push(i?S(BigInt(e)):B(e));else if(i)if(1===e)a.push(w[u-1]);else{const t=R(e,N[u-1]);a.push(B(e)+" "+t+" "+w[u-1])}else{const t=R(e,N[u-1]);a.push(B(e)+" "+t)}}u--}return a.join(" ")}(t)}const M={ltLT:function(t){const i=function(t){const i=typeof t;if("bigint"==typeof t){if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(t))throw new RangeError("Ordinals must be whole numbers");if(t<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(t)}if("string"==typeof t)return function(t){const i=t.trim();if(0===i.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===i[0])throw new RangeError("Ordinals cannot be negative");if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");if(n(i)){const t=e(i);if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}try{const t=BigInt(i);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${t}"`,{cause:e})}}(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(t);return o(i,E),S(i)}};t.currency={ltLT:function(t){const{isNegative:e,dollars:n,cents:r}=function(t){const e=typeof t;if("bigint"==typeof t)return t<0n?{isNegative:!0,dollars:-t,cents:0n}:{isNegative:!1,dollars:t,cents:0n};if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(t)?t<0?{isNegative:!0,dollars:BigInt(-t),cents:0n}:{isNegative:!1,dollars:BigInt(t),cents:0n}:s(i(t))}if("string"==typeof t)return s(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(t);o(n,O);let a="";return e&&(a=p+" "),(n>0n||0n===r)&&(a+=$(n,"masculine"),a+=" "+R(Number(n),k)),r>0n&&(n>0n&&(a+=" "),a+=$(r,"masculine"),a+=" "+R(Number(r),j)),a}},t.ltLT=function(t,s){const{isNegative:a,integerPart:u,decimalPart:l}=function(t){const s=typeof t;if("bigint"==typeof t)return t<0n?{isNegative:!0,integerPart:-t}:{isNegative:!1,integerPart:t};if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(t)?t<0?{isNegative:!0,integerPart:BigInt(-t)}:{isNegative:!1,integerPart:BigInt(t)}:r(i(t))}if("string"==typeof t)return r(function(t){const i=t.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${t}"`);return n(i)?e(i):i}(t));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(t);o(u,I,l);const{gender:c}=function(t,e,i){const n={...e};if(void 0===t)return n;if(!function(t){if(null===t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}(t))throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof t);const r=Object.keys(e);for(const[s,o]of Object.entries(t)){if(!Object.hasOwn(e,s))throw new TypeError(`Unknown option "${s}" — expected one of: ${r.join(", ")}`);if(void 0!==o){if(typeof o!=typeof n[s])throw new TypeError(`Option "${s}" must be a ${typeof n[s]}, got ${typeof o}`);if(void 0!==i&&Object.hasOwn(i,s)){const t=i[s];if(!t.includes(o))throw new RangeError(`Option "${s}" must be one of: ${t.join(", ")} — got ${JSON.stringify(o)}`)}n[s]=o}}return n}(s,x,T);let f="";return a&&(f=p+" "),f+=$(u,c),l&&(f+=" kablelis "+function(t,e){let i="",n=0;for(;n<t.length&&"0"===t[n];)i&&(i+=" "),i+=m,n++;const r=t.slice(n);return r&&(i&&(i+=" "),i+=$(BigInt(r),e)),i}(l,c)),f},t.ordinal=M},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).n2words=t.n2words||{});
package/dist/lv-LV.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/lv-LV v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- function t(t){let[i,e]=t.toLowerCase().split("e");const n=parseInt(e,10);let r="";"-"===i[0]&&(r="-",i=i.slice(1));const s=i.indexOf("."),o=-1===s?i:i.slice(0,s)+i.slice(s+1),a=(-1===s?i.length:s)+n;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function i(i){const n=i.toString();return e(n)?t(n):n}function e(t){return t.includes("e")||t.includes("E")}function n(t){const i="-"===t[0];i&&(t=t.slice(1));const e=t.indexOf(".");if(-1===e)return{isNegative:i,integerPart:BigInt(t)};const n=t.slice(0,e)||"0",r=t.slice(e+1);return{isNegative:i,integerPart:BigInt(n),decimalPart:r}}function r(i){let n=i.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid currency format: "${i}"`);e(n)&&(n=t(n));const r="-"===n[0];r&&(n=n.slice(1));const s=n.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(n),cents:0n};const o=n.slice(0,s)||"0",a=(n.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}const s=["","viens","divi","trīs","četri","pieci","seši","septiņi","astoņi","deviņi"],o=["","viena","divas","trīs","četras","piecas","sešas","septiņas","astoņas","deviņas"],a=["desmit","vienpadsmit","divpadsmit","trīspadsmit","četrpadsmit","piecpadsmit","sešpadsmit","septiņpadsmit","astoņpadsmit","deviņpadsmit"],u=["","","divdesmit","trīsdesmit","četrdesmit","piecdesmit","sešdesmit","septiņdesmit","astoņdesmit","deviņdesmit"],c="simts",l="simti",m="simtu",d="nulle",f="mīnus",p=["","pirmais","otrais","trešais","ceturtais","piektais","sestais","septītais","astotais","devītais"],g=["desmitais","vienpadsmitais","divpadsmitais","trīspadsmitais","četrpadsmitais","piecpadsmitais","sešpadsmitais","septiņpadsmitais","astoņpadsmitais","deviņpadsmitais"],h=["","","divdesmitais","trīsdesmitais","četrdesmitais","piecdesmitais","sešdesmitais","septiņdesmitais","astoņdesmitais","deviņdesmitais"],v=["","simtais","divsimtais","trīssimtais","četrsimtais","piecsimtais","sešsimtais","septiņsimtais","astoņsimtais","deviņsimtais"],b=["tūkstošais","miljonais","miljardais","triljonais"],w=["cents","centi","centu"],N=[["tūkstotis","tūkstoši","tūkstošu"],["miljons","miljoni","miljonu"],["miljards","miljardi","miljardu"],["triljons","triljoni","triljonu"],["kvadriljons","kvadriljoni","kvadriljonu"],["kvintiljons","kvintiljoni","kvintiljonu"],["sikstiljons","sikstiljoni","sikstiljonu"],["septiljons","septiljoni","septiljonu"],["oktiljons","oktiljoni","oktiljonu"]];function j(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===e&&i>0?r.push(m):n>1?(r.push(s[n]),r.push(l)):r.push(c)),e>1&&r.push(u[e]),1===e?r.push(a[i]):i>0&&r.push(s[i]),r.join(" ")}function I(t,i){return 0===t?i[2]:1==t%10&&11!=t%100?i[0]:i[1]}function E(t,i){if(0n===t)return d;if(t<1000n){const e=Number(t);return"feminine"===i?function(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===e&&i>0?r.push(m):n>1?(r.push(s[n]),r.push(l)):r.push(c)),e>1&&r.push(u[e]),1===e?r.push(a[i]):i>0&&r.push(o[i]),r.join(" ")}(e):j(e)}return function(t){const i=t.toString(),e=i.length,n=[],r=e%3;let s=0;for(r>0&&(n.push(Number(i.slice(0,r))),s=r);s<e;)n.push(Number(i.slice(s,s+3))),s+=3;const o=[];let a=n.length-1;for(let t=0;t<n.length;t++){const i=n[t];if(0!==i){const t=j(i);if(0===a)o.push(t);else{const e=I(i,N[a-1]);o.push(1===i?e:t+" "+e)}}a--}return o.join(" ")}(t)}function y(r,s){s=function(t){if(void 0===t)return{};if(function(t){if(null===t||"object"!=typeof t)return!1;const i=Object.getPrototypeOf(t);return null===i||i===Object.prototype}(t))return t;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof t)}(s);const{isNegative:o,integerPart:a,decimalPart:u}=function(r){const s=typeof r;if("bigint"===s)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"===s){if(!Number.isFinite(r))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(r)?r<0?{isNegative:!0,integerPart:BigInt(-r)}:{isNegative:!1,integerPart:BigInt(r)}:n(i(r))}if("string"===s)return n(function(i){const n=i.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid number format: "${i}"`);return e(n)?t(n):n}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{gender:c="masculine"}=s;let l="";return o&&(l=f+" "),l+=E(a,c),u&&(l+=" komats "+function(t,i){let e="",n=0;for(;n<t.length&&"0"===t[n];)e&&(e+=" "),e+=d,n++;const r=t.slice(n);return r&&(e&&(e+=" "),e+=E(BigInt(r),i)),e}(u,c)),l}function k(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10);return 0===e?p[i]:1===e?g[i]:0===i?h[e]:u[e]+" "+p[i]}function O(t){if(t<100n)return k(Number(t));if(t<1000n){const i=Number(t),e=Math.trunc(i/100),n=i%100;if(0===n)return v[e];let r;return r=1===e?c:s[e]+" "+l,r+" "+k(n)}if(t<1000000n){const i=Number(t/1000n),e=Number(t%1000n);if(0===e){if(1===i)return b[0];const t=I(i,N[0]);return j(i)+" "+t+" "+b[0]}const n=I(i,N[0]),r=1===i?"":j(i)+" ";return(1===i?n:r+n)+" "+O(BigInt(e))}return function(t){const i=t.toString(),e=i.length,n=[],r=e%3;let s=0;for(r>0&&(n.push(Number(i.slice(0,r))),s=r);s<e;)n.push(Number(i.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let t=0;t<n.length;t++){const i=n[t];if(0!==i){const e=t===o;if(0===u)a.push(e?O(BigInt(i)):j(i));else if(e)if(1===i)a.push(b[u-1]);else{const t=I(i,N[u-1]);a.push(j(i)+" "+t+" "+b[u-1])}else{const t=I(i,N[u-1]);a.push(1===i?t:j(i)+" "+t)}}u--}return a.join(" ")}(t)}function R(i){return O(function(i){const n=typeof i;if("bigint"===n){if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}if("number"===n){if(!Number.isFinite(i))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(i))throw new RangeError("Ordinals must be whole numbers");if(i<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(i)}if("string"===n)return function(i){const n=i.trim();if(0===n.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===n[0])throw new RangeError("Ordinals cannot be negative");if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");if(e(n)){const i=t(n);if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");const e=BigInt(i);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}try{const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}catch(t){if(t instanceof RangeError)throw t;throw new RangeError(`Invalid ordinal format: "${i}"`)}}(i);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(i))}function B(t){const{isNegative:e,dollars:n,cents:s}=function(t){const e=typeof t;if("bigint"===e)return t<0n?{isNegative:!0,dollars:-t,cents:0n}:{isNegative:!1,dollars:t,cents:0n};if("number"===e){if(!Number.isFinite(t))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(t)?t<0?{isNegative:!0,dollars:BigInt(-t),cents:0n}:{isNegative:!1,dollars:BigInt(t),cents:0n}:r(i(t))}if("string"===e)return r(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(t);let o="";return e&&(o=f+" "),(n>0n||0n===s)&&(o+=E(n,"masculine"),o+=" eiro"),s>0n&&(n>0n&&(o+=" "),o+=E(s,"masculine"),o+=" "+function(t){if(0===t)return w[2];const i=t%10,e=t%100;return e>=10&&e<=19||0===i?w[2]:1===i?w[0]:w[1]}(Number(s))),o}export{y as toCardinal,B as toCurrency,R as toOrdinal};
1
+ /*! n2words/lv-LV v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ function t(t){let[e,i]=t.toLowerCase().split("e");const n=parseInt(i,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),o=-1===s?e:e.slice(0,s)+e.slice(s+1),a=(-1===s?e.length:s)+n;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function e(e){const n=e.toString();return i(n)?t(n):n}function i(t){return t.includes("e")||t.includes("E")}function n(t){const e="-"===t[0];e&&(t=t.slice(1));const i=t.indexOf(".");if(-1===i)return{isNegative:e,integerPart:BigInt(t)};const n=t.slice(0,i)||"0",r=t.slice(i+1);return{isNegative:e,integerPart:BigInt(n),decimalPart:r}}function r(e){let n=e.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid currency format: "${e}"`);i(n)&&(n=t(n));const r="-"===n[0];r&&(n=n.slice(1));const s=n.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(n),cents:0n};const o=n.slice(0,s)||"0",a=(n.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}function s(t,e,i){if(null===e)return;if(t<e&&!(i&&BigInt(i)>=e))return;const n=e.toString().length-1,r=e===10n**BigInt(n)?`10^${n} - 1`:""+(e-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${r}`)}function o(t){return 10n**BigInt(3*(t+1))}const a=["","viens","divi","trīs","četri","pieci","seši","septiņi","astoņi","deviņi"],u=["","viena","divas","trīs","četras","piecas","sešas","septiņas","astoņas","deviņas"],c=["desmit","vienpadsmit","divpadsmit","trīspadsmit","četrpadsmit","piecpadsmit","sešpadsmit","septiņpadsmit","astoņpadsmit","deviņpadsmit"],l=["","","divdesmit","trīsdesmit","četrdesmit","piecdesmit","sešdesmit","septiņdesmit","astoņdesmit","deviņdesmit"],f="simts",m="simti",p="simtu",d="nulle",g="mīnus",h=["","pirmais","otrais","trešais","ceturtais","piektais","sestais","septītais","astotais","devītais"],b=["desmitais","vienpadsmitais","divpadsmitais","trīspadsmitais","četrpadsmitais","piecpadsmitais","sešpadsmitais","septiņpadsmitais","astoņpadsmitais","deviņpadsmitais"],v=["","","divdesmitais","trīsdesmitais","četrdesmitais","piecdesmitais","sešdesmitais","septiņdesmitais","astoņdesmitais","deviņdesmitais"],w=["","simtais","divsimtais","trīssimtais","četrsimtais","piecsimtais","sešsimtais","septiņsimtais","astoņsimtais","deviņsimtais"],N=["tūkstošais","miljonais","miljardais","triljonais"],j=["cents","centi","centu"],y=[["tūkstotis","tūkstoši","tūkstošu"],["miljons","miljoni","miljonu"],["miljards","miljardi","miljardu"],["triljons","triljoni","triljonu"],["kvadriljons","kvadriljoni","kvadriljonu"],["kvintiljons","kvintiljoni","kvintiljonu"],["sikstiljons","sikstiljoni","sikstiljonu"],["septiljons","septiljoni","septiljonu"],["oktiljons","oktiljoni","oktiljonu"]],I=o(y.length),E=o(N.length),O=o(y.length);function k(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===i&&e>0?r.push(p):n>1?(r.push(a[n]),r.push(m)):r.push(f)),i>1&&r.push(l[i]),1===i?r.push(c[e]):e>0&&r.push(a[e]),r.join(" ")}function B(t,e){return 0===t?e[2]:1==t%10&&11!=t%100?e[0]:e[1]}function R(t,e){if(0n===t)return d;if(t<1000n){const i=Number(t);return"feminine"===e?function(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===i&&e>0?r.push(p):n>1?(r.push(a[n]),r.push(m)):r.push(f)),i>1&&r.push(l[i]),1===i?r.push(c[e]):e>0&&r.push(u[e]),r.join(" ")}(i):k(i)}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;const o=[];let a=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const t=k(e);if(0===a)o.push(t);else{const i=B(e,y[a-1]);o.push(1===e?i:t+" "+i)}}a--}return o.join(" ")}(t)}const $={gender:"masculine"},P={gender:["masculine","feminine"]};function x(r,o){const{isNegative:a,integerPart:u,decimalPart:c}=function(r){const s=typeof r;if("bigint"==typeof r)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"==typeof r){if(!Number.isFinite(r))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(r)?r<0?{isNegative:!0,integerPart:BigInt(-r)}:{isNegative:!1,integerPart:BigInt(r)}:n(e(r))}if("string"==typeof r)return n(function(e){const n=e.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid number format: "${e}"`);return i(n)?t(n):n}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r);s(u,I,c);const{gender:l}=function(t,e,i){const n={...e};if(void 0===t)return n;if(!function(t){if(null===t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}(t))throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof t);const r=Object.keys(e);for(const[s,o]of Object.entries(t)){if(!Object.hasOwn(e,s))throw new TypeError(`Unknown option "${s}" — expected one of: ${r.join(", ")}`);if(void 0!==o){if(typeof o!=typeof n[s])throw new TypeError(`Option "${s}" must be a ${typeof n[s]}, got ${typeof o}`);if(void 0!==i&&Object.hasOwn(i,s)){const t=i[s];if(!t.includes(o))throw new RangeError(`Option "${s}" must be one of: ${t.join(", ")} — got ${JSON.stringify(o)}`)}n[s]=o}}return n}(o,$,P);let f="";return a&&(f=g+" "),f+=R(u,l),c&&(f+=" komats "+function(t,e){let i="",n=0;for(;n<t.length&&"0"===t[n];)i&&(i+=" "),i+=d,n++;const r=t.slice(n);return r&&(i&&(i+=" "),i+=R(BigInt(r),e)),i}(c,l)),f}function S(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10);return 0===i?h[e]:1===i?b[e]:0===e?v[i]:l[i]+" "+h[e]}function M(t){if(t<100n)return S(Number(t));if(t<1000n){const e=Number(t),i=Math.trunc(e/100),n=e%100;if(0===n)return w[i];let r;return r=1===i?f:a[i]+" "+m,r+" "+S(n)}if(t<1000000n){const e=Number(t/1000n),i=Number(t%1000n);if(0===i){if(1===e)return N[0];const t=B(e,y[0]);return k(e)+" "+t+" "+N[0]}const n=B(e,y[0]),r=1===e?"":k(e)+" ";return(1===e?n:r+n)+" "+M(BigInt(i))}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const i=t===o;if(0===u)a.push(i?M(BigInt(e)):k(e));else if(i)if(1===e)a.push(N[u-1]);else{const t=B(e,y[u-1]);a.push(k(e)+" "+t+" "+N[u-1])}else{const t=B(e,y[u-1]);a.push(1===e?t:k(e)+" "+t)}}u--}return a.join(" ")}(t)}function T(e){const n=function(e){const n=typeof e;if("bigint"==typeof e){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"==typeof e)return function(e){const n=e.trim();if(0===n.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===n[0])throw new RangeError("Ordinals cannot be negative");if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(n)){const e=t(n);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(e);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}catch(t){if(t instanceof RangeError)throw t;throw new RangeError(`Invalid ordinal format: "${e}"`,{cause:t})}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);return s(n,E),M(n)}function F(t){const{isNegative:i,dollars:n,cents:o}=function(t){const i=typeof t;if("bigint"==typeof t)return t<0n?{isNegative:!0,dollars:-t,cents:0n}:{isNegative:!1,dollars:t,cents:0n};if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(t)?t<0?{isNegative:!0,dollars:BigInt(-t),cents:0n}:{isNegative:!1,dollars:BigInt(t),cents:0n}:r(e(t))}if("string"==typeof t)return r(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(t);s(n,O);let a="";return i&&(a=g+" "),(n>0n||0n===o)&&(a+=R(n,"masculine"),a+=" eiro"),o>0n&&(n>0n&&(a+=" "),a+=R(o,"masculine"),a+=" "+function(t){if(0===t)return j[2];const e=t%10,i=t%100;return i>=10&&i<=19||0===e?j[2]:1===e?j[0]:j[1]}(Number(o))),a}export{$ as cardinalDefaults,I as cardinalMax,P as cardinalValues,O as currencyMax,E as ordinalMax,x as toCardinal,F as toCurrency,T as toOrdinal};
package/dist/lv-LV.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/lv-LV v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- var t,i;t=this,i=function(t){"use strict";function i(t){let[i,e]=t.toLowerCase().split("e");const n=parseInt(e,10);let s="";"-"===i[0]&&(s="-",i=i.slice(1));const r=i.indexOf("."),o=-1===r?i:i.slice(0,r)+i.slice(r+1),a=(-1===r?i.length:r)+n;return a>=o.length?s+o+"0".repeat(a-o.length):a<=0?s+"0."+"0".repeat(-a)+o:s+o.slice(0,a)+"."+o.slice(a)}function e(t){const e=t.toString();return n(e)?i(e):e}function n(t){return t.includes("e")||t.includes("E")}function s(t){const i="-"===t[0];i&&(t=t.slice(1));const e=t.indexOf(".");if(-1===e)return{isNegative:i,integerPart:BigInt(t)};const n=t.slice(0,e)||"0",s=t.slice(e+1);return{isNegative:i,integerPart:BigInt(n),decimalPart:s}}function r(t){let e=t.trim();if(0===e.length||Number.isNaN(Number(e)))throw new RangeError(`Invalid currency format: "${t}"`);n(e)&&(e=i(e));const s="-"===e[0];s&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:s,dollars:BigInt(e),cents:0n};const o=e.slice(0,r)||"0",a=(e.slice(r+1)+"00").slice(0,2);return{isNegative:s,dollars:BigInt(o),cents:BigInt(a)}}const o=["","viens","divi","trīs","četri","pieci","seši","septiņi","astoņi","deviņi"],a=["","viena","divas","trīs","četras","piecas","sešas","septiņas","astoņas","deviņas"],u=["desmit","vienpadsmit","divpadsmit","trīspadsmit","četrpadsmit","piecpadsmit","sešpadsmit","septiņpadsmit","astoņpadsmit","deviņpadsmit"],c=["","","divdesmit","trīsdesmit","četrdesmit","piecdesmit","sešdesmit","septiņdesmit","astoņdesmit","deviņdesmit"],l="simts",d="simti",m="simtu",f="nulle",p="mīnus",g=["","pirmais","otrais","trešais","ceturtais","piektais","sestais","septītais","astotais","devītais"],h=["desmitais","vienpadsmitais","divpadsmitais","trīspadsmitais","četrpadsmitais","piecpadsmitais","sešpadsmitais","septiņpadsmitais","astoņpadsmitais","deviņpadsmitais"],v=["","","divdesmitais","trīsdesmitais","četrdesmitais","piecdesmitais","sešdesmitais","septiņdesmitais","astoņdesmitais","deviņdesmitais"],b=["","simtais","divsimtais","trīssimtais","četrsimtais","piecsimtais","sešsimtais","septiņsimtais","astoņsimtais","deviņsimtais"],w=["tūkstošais","miljonais","miljardais","triljonais"],N=["cents","centi","centu"],j=[["tūkstotis","tūkstoši","tūkstošu"],["miljons","miljoni","miljonu"],["miljards","miljardi","miljardu"],["triljons","triljoni","triljonu"],["kvadriljons","kvadriljoni","kvadriljonu"],["kvintiljons","kvintiljoni","kvintiljonu"],["sikstiljons","sikstiljoni","sikstiljonu"],["septiljons","septiljoni","septiljonu"],["oktiljons","oktiljoni","oktiljonu"]];function I(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10)%10,n=Math.trunc(t/100),s=[];return n>0&&(1===n&&0===e&&i>0?s.push(m):n>1?(s.push(o[n]),s.push(d)):s.push(l)),e>1&&s.push(c[e]),1===e?s.push(u[i]):i>0&&s.push(o[i]),s.join(" ")}function y(t,i){return 0===t?i[2]:1==t%10&&11!=t%100?i[0]:i[1]}function E(t,i){if(0n===t)return f;if(t<1000n){const e=Number(t);return"feminine"===i?function(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10)%10,n=Math.trunc(t/100),s=[];return n>0&&(1===n&&0===e&&i>0?s.push(m):n>1?(s.push(o[n]),s.push(d)):s.push(l)),e>1&&s.push(c[e]),1===e?s.push(u[i]):i>0&&s.push(a[i]),s.join(" ")}(e):I(e)}return function(t){const i=t.toString(),e=i.length,n=[],s=e%3;let r=0;for(s>0&&(n.push(Number(i.slice(0,s))),r=s);r<e;)n.push(Number(i.slice(r,r+3))),r+=3;const o=[];let a=n.length-1;for(let t=0;t<n.length;t++){const i=n[t];if(0!==i){const t=I(i);if(0===a)o.push(t);else{const e=y(i,j[a-1]);o.push(1===i?e:t+" "+e)}}a--}return o.join(" ")}(t)}function k(t){if(0===t)return"";const i=t%10,e=Math.trunc(t/10);return 0===e?g[i]:1===e?h[i]:0===i?v[e]:c[e]+" "+g[i]}function O(t){if(t<100n)return k(Number(t));if(t<1000n){const i=Number(t),e=Math.trunc(i/100),n=i%100;if(0===n)return b[e];let s;return s=1===e?l:o[e]+" "+d,s+" "+k(n)}if(t<1000000n){const i=Number(t/1000n),e=Number(t%1000n);if(0===e){if(1===i)return w[0];const t=y(i,j[0]);return I(i)+" "+t+" "+w[0]}const n=y(i,j[0]),s=1===i?"":I(i)+" ";return(1===i?n:s+n)+" "+O(BigInt(e))}return function(t){const i=t.toString(),e=i.length,n=[],s=e%3;let r=0;for(s>0&&(n.push(Number(i.slice(0,s))),r=s);r<e;)n.push(Number(i.slice(r,r+3))),r+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let t=0;t<n.length;t++){const i=n[t];if(0!==i){const e=t===o;if(0===u)a.push(e?O(BigInt(i)):I(i));else if(e)if(1===i)a.push(w[u-1]);else{const t=y(i,j[u-1]);a.push(I(i)+" "+t+" "+w[u-1])}else{const t=y(i,j[u-1]);a.push(1===i?t:I(i)+" "+t)}}u--}return a.join(" ")}(t)}const R={lvLV:function(t){return O(function(t){const e=typeof t;if("bigint"===e){if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}if("number"===e){if(!Number.isFinite(t))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(t))throw new RangeError("Ordinals must be whole numbers");if(t<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(t)}if("string"===e)return function(t){const e=t.trim();if(0===e.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===e[0])throw new RangeError("Ordinals cannot be negative");if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");if(n(e)){const t=i(e);if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}try{const t=BigInt(e);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}catch(i){if(i instanceof RangeError)throw i;throw new RangeError(`Invalid ordinal format: "${t}"`)}}(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(t))}};t.currency={lvLV:function(t){const{isNegative:i,dollars:n,cents:s}=function(t){const i=typeof t;if("bigint"===i)return t<0n?{isNegative:!0,dollars:-t,cents:0n}:{isNegative:!1,dollars:t,cents:0n};if("number"===i){if(!Number.isFinite(t))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(t)?t<0?{isNegative:!0,dollars:BigInt(-t),cents:0n}:{isNegative:!1,dollars:BigInt(t),cents:0n}:r(e(t))}if("string"===i)return r(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(t);let o="";return i&&(o=p+" "),(n>0n||0n===s)&&(o+=E(n,"masculine"),o+=" eiro"),s>0n&&(n>0n&&(o+=" "),o+=E(s,"masculine"),o+=" "+function(t,i){if(0===t)return i[2];const e=t%10,n=t%100;return n>=10&&n<=19||0===e?i[2]:1===e?i[0]:i[1]}(Number(s),N)),o}},t.lvLV=function(t,r){r=function(t){if(void 0===t)return{};if(function(t){if(null===t||"object"!=typeof t)return!1;const i=Object.getPrototypeOf(t);return null===i||i===Object.prototype}(t))return t;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof t)}(r);const{isNegative:o,integerPart:a,decimalPart:u}=function(t){const r=typeof t;if("bigint"===r)return t<0n?{isNegative:!0,integerPart:-t}:{isNegative:!1,integerPart:t};if("number"===r){if(!Number.isFinite(t))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(t)?t<0?{isNegative:!0,integerPart:BigInt(-t)}:{isNegative:!1,integerPart:BigInt(t)}:s(e(t))}if("string"===r)return s(function(t){const e=t.trim();if(0===e.length||Number.isNaN(Number(e)))throw new RangeError(`Invalid number format: "${t}"`);return n(e)?i(e):e}(t));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(t),{gender:c="masculine"}=r;let l="";return o&&(l=p+" "),l+=E(a,c),u&&(l+=" komats "+function(t,i){let e="",n=0;for(;n<t.length&&"0"===t[n];)e&&(e+=" "),e+=f,n++;const s=t.slice(n);return s&&(e&&(e+=" "),e+=E(BigInt(s),i)),e}(u,c)),l},t.ordinal=R},"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).n2words=t.n2words||{});
1
+ /*! n2words/lv-LV v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ var t,e;t=this,e=function(t){"use strict";function e(t){let[e,i]=t.toLowerCase().split("e");const n=parseInt(i,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),o=-1===s?e:e.slice(0,s)+e.slice(s+1),u=(-1===s?e.length:s)+n;return u>=o.length?r+o+"0".repeat(u-o.length):u<=0?r+"0."+"0".repeat(-u)+o:r+o.slice(0,u)+"."+o.slice(u)}function i(t){const i=t.toString();return n(i)?e(i):i}function n(t){return t.includes("e")||t.includes("E")}function r(t){const e="-"===t[0];e&&(t=t.slice(1));const i=t.indexOf(".");if(-1===i)return{isNegative:e,integerPart:BigInt(t)};const n=t.slice(0,i)||"0",r=t.slice(i+1);return{isNegative:e,integerPart:BigInt(n),decimalPart:r}}function s(t){let i=t.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${t}"`);n(i)&&(i=e(i));const r="-"===i[0];r&&(i=i.slice(1));const s=i.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(i),cents:0n};const o=i.slice(0,s)||"0",u=(i.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(u)}}function o(t,e,i){if(null===e)return;if(t<e&&!(i&&BigInt(i)>=e))return;const n=e.toString().length-1,r=e===10n**BigInt(n)?`10^${n} - 1`:""+(e-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${r}`)}function u(t){return 10n**BigInt(3*(t+1))}const a=["","viens","divi","trīs","četri","pieci","seši","septiņi","astoņi","deviņi"],c=["","viena","divas","trīs","četras","piecas","sešas","septiņas","astoņas","deviņas"],l=["desmit","vienpadsmit","divpadsmit","trīspadsmit","četrpadsmit","piecpadsmit","sešpadsmit","septiņpadsmit","astoņpadsmit","deviņpadsmit"],f=["","","divdesmit","trīsdesmit","četrdesmit","piecdesmit","sešdesmit","septiņdesmit","astoņdesmit","deviņdesmit"],d="simts",m="simti",p="simtu",g="nulle",h="mīnus",v=["","pirmais","otrais","trešais","ceturtais","piektais","sestais","septītais","astotais","devītais"],b=["desmitais","vienpadsmitais","divpadsmitais","trīspadsmitais","četrpadsmitais","piecpadsmitais","sešpadsmitais","septiņpadsmitais","astoņpadsmitais","deviņpadsmitais"],w=["","","divdesmitais","trīsdesmitais","četrdesmitais","piecdesmitais","sešdesmitais","septiņdesmitais","astoņdesmitais","deviņdesmitais"],N=["","simtais","divsimtais","trīssimtais","četrsimtais","piecsimtais","sešsimtais","septiņsimtais","astoņsimtais","deviņsimtais"],j=["tūkstošais","miljonais","miljardais","triljonais"],y=["cents","centi","centu"],I=[["tūkstotis","tūkstoši","tūkstošu"],["miljons","miljoni","miljonu"],["miljards","miljardi","miljardu"],["triljons","triljoni","triljonu"],["kvadriljons","kvadriljoni","kvadriljonu"],["kvintiljons","kvintiljoni","kvintiljonu"],["sikstiljons","sikstiljoni","sikstiljonu"],["septiljons","septiljoni","septiljonu"],["oktiljons","oktiljoni","oktiljonu"]],E=u(I.length),O=u(j.length),k=u(I.length);function B(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===i&&e>0?r.push(p):n>1?(r.push(a[n]),r.push(m)):r.push(d)),i>1&&r.push(f[i]),1===i?r.push(l[e]):e>0&&r.push(a[e]),r.join(" ")}function R(t,e){return 0===t?e[2]:1==t%10&&11!=t%100?e[0]:e[1]}function $(t,e){if(0n===t)return g;if(t<1000n){const i=Number(t);return"feminine"===e?function(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10)%10,n=Math.trunc(t/100),r=[];return n>0&&(1===n&&0===i&&e>0?r.push(p):n>1?(r.push(a[n]),r.push(m)):r.push(d)),i>1&&r.push(f[i]),1===i?r.push(l[e]):e>0&&r.push(c[e]),r.join(" ")}(i):B(i)}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;const o=[];let u=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const t=B(e);if(0===u)o.push(t);else{const i=R(e,I[u-1]);o.push(1===e?i:t+" "+i)}}u--}return o.join(" ")}(t)}const x={gender:"masculine"},P={gender:["masculine","feminine"]};function T(t){if(0===t)return"";const e=t%10,i=Math.trunc(t/10);return 0===i?v[e]:1===i?b[e]:0===e?w[i]:f[i]+" "+v[e]}function S(t){if(t<100n)return T(Number(t));if(t<1000n){const e=Number(t),i=Math.trunc(e/100),n=e%100;if(0===n)return N[i];let r;return r=1===i?d:a[i]+" "+m,r+" "+T(n)}if(t<1000000n){const e=Number(t/1000n),i=Number(t%1000n);if(0===i){if(1===e)return j[0];const t=R(e,I[0]);return B(e)+" "+t+" "+j[0]}const n=R(e,I[0]),r=1===e?"":B(e)+" ";return(1===e?n:r+n)+" "+S(BigInt(i))}return function(t){const e=t.toString(),i=e.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(e.slice(0,r))),s=r);s<i;)n.push(Number(e.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const u=[];let a=n.length-1;for(let t=0;t<n.length;t++){const e=n[t];if(0!==e){const i=t===o;if(0===a)u.push(i?S(BigInt(e)):B(e));else if(i)if(1===e)u.push(j[a-1]);else{const t=R(e,I[a-1]);u.push(B(e)+" "+t+" "+j[a-1])}else{const t=R(e,I[a-1]);u.push(1===e?t:B(e)+" "+t)}}a--}return u.join(" ")}(t)}const M={lvLV:function(t){const i=function(t){const i=typeof t;if("bigint"==typeof t){if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(t))throw new RangeError("Ordinals must be whole numbers");if(t<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(t)}if("string"==typeof t)return function(t){const i=t.trim();if(0===i.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===i[0])throw new RangeError("Ordinals cannot be negative");if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");if(n(i)){const t=e(i);if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}try{const t=BigInt(i);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${t}"`,{cause:e})}}(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(t);return o(i,O),S(i)}};t.currency={lvLV:function(t){const{isNegative:e,dollars:n,cents:r}=function(t){const e=typeof t;if("bigint"==typeof t)return t<0n?{isNegative:!0,dollars:-t,cents:0n}:{isNegative:!1,dollars:t,cents:0n};if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(t)?t<0?{isNegative:!0,dollars:BigInt(-t),cents:0n}:{isNegative:!1,dollars:BigInt(t),cents:0n}:s(i(t))}if("string"==typeof t)return s(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(t);o(n,k);let u="";return e&&(u=h+" "),(n>0n||0n===r)&&(u+=$(n,"masculine"),u+=" eiro"),r>0n&&(n>0n&&(u+=" "),u+=$(r,"masculine"),u+=" "+function(t,e){if(0===t)return e[2];const i=t%10,n=t%100;return n>=10&&n<=19||0===i?e[2]:1===i?e[0]:e[1]}(Number(r),y)),u}},t.lvLV=function(t,s){const{isNegative:u,integerPart:a,decimalPart:c}=function(t){const s=typeof t;if("bigint"==typeof t)return t<0n?{isNegative:!0,integerPart:-t}:{isNegative:!1,integerPart:t};if("number"==typeof t){if(!Number.isFinite(t))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(t)?t<0?{isNegative:!0,integerPart:BigInt(-t)}:{isNegative:!1,integerPart:BigInt(t)}:r(i(t))}if("string"==typeof t)return r(function(t){const i=t.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${t}"`);return n(i)?e(i):i}(t));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(t);o(a,E,c);const{gender:l}=function(t,e,i){const n={...e};if(void 0===t)return n;if(!function(t){if(null===t||"object"!=typeof t)return!1;const e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}(t))throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof t);const r=Object.keys(e);for(const[s,o]of Object.entries(t)){if(!Object.hasOwn(e,s))throw new TypeError(`Unknown option "${s}" — expected one of: ${r.join(", ")}`);if(void 0!==o){if(typeof o!=typeof n[s])throw new TypeError(`Option "${s}" must be a ${typeof n[s]}, got ${typeof o}`);if(void 0!==i&&Object.hasOwn(i,s)){const t=i[s];if(!t.includes(o))throw new RangeError(`Option "${s}" must be one of: ${t.join(", ")} — got ${JSON.stringify(o)}`)}n[s]=o}}return n}(s,x,P);let f="";return u&&(f=h+" "),f+=$(a,l),c&&(f+=" komats "+function(t,e){let i="",n=0;for(;n<t.length&&"0"===t[n];)i&&(i+=" "),i+=g,n++;const r=t.slice(n);return r&&(i&&(i+=" "),i+=$(BigInt(r),e)),i}(c,l)),f},t.ordinal=M},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).n2words=t.n2words||{});
package/dist/mr-IN.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/mr-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- function e(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const t=n.toString();return r(t)?e(t):t}function r(e){return e.includes("e")||e.includes("E")}function t(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function i(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);r(t)&&(t=e(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const s="शून्य",o="शंभर",u=["","पहिला","दुसरा","तिसरा","चौथा","पाचवा","सहावा"],a=["शून्य","एक","दोन","तीन","चार","पाच","सहा","सात","आठ","नऊ","दहा","अकरा","बारा","तेरा","चौदा","पंधरा","सोळा","सतरा","अठरा","एकोणीस","वीस","एकवीस","बावीस","तेवीस","चोवीस","पंचवीस","सव्वीस","सत्तावीस","अठ्ठावीस","एकोणतीस","तीस","एकतीस","बत्तीस","तेहेतीस","चौतीस","पस्तीस","छत्तीस","सदतीस","अडतीस","एकोणचाळीस","चाळीस","एकेचाळीस","बेचाळीस","त्रेचाळीस","चव्वेचाळीस","पंचेचाळीस","सेहेचाळीस","सत्तेचाळीस","अठ्ठेचाळीस","एकोणपन्नास","पन्नास","एक्काव्वन","बावन्न","त्रेपन्न","चोपन्न","पंचाव्वन","छप्पन्न","सत्तावन्न","अठ्ठावन्न","एकोणसाठ","साठ","एकसष्ठ","बासष्ठ","त्रेसष्ठ","चौसष्ठ","पासष्ठ","सहासष्ठ","सदुसष्ठ","अडुसष्ठ","एकोणसत्तर","सत्तर","एकाहत्तर","बाहत्तर","त्र्याहत्तर","चौऱ्याहत्तर","पंच्याहत्तर","शहात्तर","सत्याहत्तर","अठ्ठ्याहत्तर","एकोणऐंशी","ऐंशी","एक्याऐंशी","ब्याऐंशी","त्र्याऐंशी","चौऱ्याऐंशी","पंच्याऐंशी","शहाऐंशी","सत्याऐंशी","अठ्ठ्याऐंशी","एकोणनव्वद","नव्वद","एक्याण्णव","ब्याण्णव","त्र्याण्णव","चौऱ्याण्णव","पंच्याण्णव","शहाण्णव","सत्याण्णव","अठ्ठ्याण्णव","नव्याण्णव"],c=["","हजार","लाख","कोटी","अब्ज","खर्व","निखर्व","महापद्म","शंकू"];function g(e){if(0===e)return"";if(e<100)return a[e];const n=Math.trunc(e/100),r=e%100;return 0===r?a[n]+" "+o:a[n]+" "+o+" "+a[r]}function l(e){if(0n===e)return s;if(e<1000n)return g(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?g(r):a[r]),e>0&&c[e]&&t.push(c[e]))}return t.join(" ")}function f(i){const{isNegative:o,integerPart:u,decimalPart:c}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:t(n(i))}if("string"===s)return t(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return r(t)?e(t):t}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let g="";return o&&(g="उणे "),g+=l(u),c&&(g+=" दशांश "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?s:a[e])}return n.join(" ")}(c)),g}function m(n){const t=function(n){const t=typeof n;if("bigint"===t){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===t){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===t)return function(n){const t=n.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(n);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);return(i=t)>=1n&&i<=6n?u[Number(i)]:l(i)+"वा";var i}function b(e){const{isNegative:r,dollars:t,cents:s}=function(e){const r=typeof e;if("bigint"===r)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===r){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===r)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);let o="";return r&&(o="उणे "),(t>0n||0n===s)&&(o+=l(t),o+=" "+(1n===t?"रुपया":"रुपये")),s>0n&&(t>0n&&(o+=" "),o+=l(s),o+=" "+(1n===s?"पैसा":"पैसे")),o}export{f as toCardinal,b as toCurrency,m as toOrdinal};
1
+ /*! n2words/mr-IN v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function o(e,n,t){if(null===n)return;if(e<n)return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function s(e){return 10n**BigInt(3+2*(e-1))}const u="शून्य",a="शंभर",c=["","पहिला","दुसरा","तिसरा","चौथा","पाचवा","सहावा"],g=["शून्य","एक","दोन","तीन","चार","पाच","सहा","सात","आठ","नऊ","दहा","अकरा","बारा","तेरा","चौदा","पंधरा","सोळा","सतरा","अठरा","एकोणीस","वीस","एकवीस","बावीस","तेवीस","चोवीस","पंचवीस","सव्वीस","सत्तावीस","अठ्ठावीस","एकोणतीस","तीस","एकतीस","बत्तीस","तेहेतीस","चौतीस","पस्तीस","छत्तीस","सदतीस","अडतीस","एकोणचाळीस","चाळीस","एकेचाळीस","बेचाळीस","त्रेचाळीस","चव्वेचाळीस","पंचेचाळीस","सेहेचाळीस","सत्तेचाळीस","अठ्ठेचाळीस","एकोणपन्नास","पन्नास","एक्काव्वन","बावन्न","त्रेपन्न","चोपन्न","पंचाव्वन","छप्पन्न","सत्तावन्न","अठ्ठावन्न","एकोणसाठ","साठ","एकसष्ठ","बासष्ठ","त्रेसष्ठ","चौसष्ठ","पासष्ठ","सहासष्ठ","सदुसष्ठ","अडुसष्ठ","एकोणसत्तर","सत्तर","एकाहत्तर","बाहत्तर","त्र्याहत्तर","चौऱ्याहत्तर","पंच्याहत्तर","शहात्तर","सत्याहत्तर","अठ्ठ्याहत्तर","एकोणऐंशी","ऐंशी","एक्याऐंशी","ब्याऐंशी","त्र्याऐंशी","चौऱ्याऐंशी","पंच्याऐंशी","शहाऐंशी","सत्याऐंशी","अठ्ठ्याऐंशी","एकोणनव्वद","नव्वद","एक्याण्णव","ब्याण्णव","त्र्याण्णव","चौऱ्याण्णव","पंच्याण्णव","शहाण्णव","सत्याण्णव","अठ्ठ्याण्णव","नव्याण्णव"],f=["","हजार","लाख","कोटी","अब्ज","खर्व","निखर्व","महापद्म","शंकू"],l=s(f.length),m=s(f.length),b=s(f.length);function w(e){if(0===e)return"";if(e<100)return g[e];const n=Math.trunc(e/100),t=e%100;return 0===t?g[n]+" "+a:g[n]+" "+a+" "+g[t]}function d(e){if(0n===e)return u;if(e<1000n)return w(Number(e));const n=[];n.push(Number(e%1000n));let t=e/1000n;for(;t>0n;)n.push(Number(t%100n)),t/=100n;const r=[];for(let e=n.length-1;e>=0;e--){const t=n[e];0!==t&&(r.push(0===e?w(t):g[t]),e>0&&f[e]&&r.push(f[e]))}return r.join(" ")}function h(i){const{isNegative:s,integerPart:a,decimalPart:c}=function(i){const o=typeof i;if("bigint"==typeof i)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"==typeof i){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"==typeof i)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i);o(a,l);let f="";return s&&(f="उणे "),f+=d(a),c&&(f+=" दशांश "+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?u:g[e])}return n.join(" ")}(c)),f}function p(n){const r=function(n){const r=typeof n;if("bigint"==typeof n){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"==typeof n){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"==typeof n)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`,{cause:e})}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return o(r,m),(i=r)>=1n&&i<=6n?c[Number(i)]:d(i)+"वा";var i}function N(e){const{isNegative:t,dollars:r,cents:s}=function(e){const t=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"==typeof e)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);o(r,b);let u="";return t&&(u="उणे "),(r>0n||0n===s)&&(u+=d(r),u+=" "+(1n===r?"रुपया":"रुपये")),s>0n&&(r>0n&&(u+=" "),u+=d(s),u+=" "+(1n===s?"पैसा":"पैसे")),u}export{l as cardinalMax,b as currencyMax,m as ordinalMax,h as toCardinal,N as toCurrency,p as toOrdinal};
package/dist/mr-IN.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/mr-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- var e,n;e=this,n=function(e){"use strict";function n(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function r(e){const r=e.toString();return t(r)?n(r):r}function t(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function s(e){let r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${e}"`);t(r)&&(r=n(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const o="शून्य",u="शंभर",a=["","पहिला","दुसरा","तिसरा","चौथा","पाचवा","सहावा"],c=["शून्य","एक","दोन","तीन","चार","पाच","सहा","सात","आठ","नऊ","दहा","अकरा","बारा","तेरा","चौदा","पंधरा","सोळा","सतरा","अठरा","एकोणीस","वीस","एकवीस","बावीस","तेवीस","चोवीस","पंचवीस","सव्वीस","सत्तावीस","अठ्ठावीस","एकोणतीस","तीस","एकतीस","बत्तीस","तेहेतीस","चौतीस","पस्तीस","छत्तीस","सदतीस","अडतीस","एकोणचाळीस","चाळीस","एकेचाळीस","बेचाळीस","त्रेचाळीस","चव्वेचाळीस","पंचेचाळीस","सेहेचाळीस","सत्तेचाळीस","अठ्ठेचाळीस","एकोणपन्नास","पन्नास","एक्काव्वन","बावन्न","त्रेपन्न","चोपन्न","पंचाव्वन","छप्पन्न","सत्तावन्न","अठ्ठावन्न","एकोणसाठ","साठ","एकसष्ठ","बासष्ठ","त्रेसष्ठ","चौसष्ठ","पासष्ठ","सहासष्ठ","सदुसष्ठ","अडुसष्ठ","एकोणसत्तर","सत्तर","एकाहत्तर","बाहत्तर","त्र्याहत्तर","चौऱ्याहत्तर","पंच्याहत्तर","शहात्तर","सत्याहत्तर","अठ्ठ्याहत्तर","एकोणऐंशी","ऐंशी","एक्याऐंशी","ब्याऐंशी","त्र्याऐंशी","चौऱ्याऐंशी","पंच्याऐंशी","शहाऐंशी","सत्याऐंशी","अठ्ठ्याऐंशी","एकोणनव्वद","नव्वद","एक्याण्णव","ब्याण्णव","त्र्याण्णव","चौऱ्याण्णव","पंच्याण्णव","शहाण्णव","सत्याण्णव","अठ्ठ्याण्णव","नव्याण्णव"],g=["","हजार","लाख","कोटी","अब्ज","खर्व","निखर्व","महापद्म","शंकू"];function f(e){if(0===e)return"";if(e<100)return c[e];const n=Math.trunc(e/100),r=e%100;return 0===r?c[n]+" "+u:c[n]+" "+u+" "+c[r]}function l(e){if(0n===e)return o;if(e<1000n)return f(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?f(r):c[r]),e>0&&g[e]&&t.push(g[e]))}return t.join(" ")}const d={mrIN:function(e){const r=function(e){const r=typeof e;if("bigint"===r){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===r){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===r)return function(e){const r=e.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const e=n(r);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(e);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);return(i=r)>=1n&&i<=6n?a[Number(i)]:l(i)+"वा";var i}};e.currency={mrIN:function(e){const{isNegative:n,dollars:t,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(r(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o="उणे "),(t>0n||0n===i)&&(o+=l(t),o+=" "+(1n===t?"रुपया":"रुपये")),i>0n&&(t>0n&&(o+=" "),o+=l(i),o+=" "+(1n===i?"पैसा":"पैसे")),o}},e.mrIN=function(e){const{isNegative:s,integerPart:u,decimalPart:a}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(r(e))}if("string"===s)return i(function(e){const r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${e}"`);return t(r)?n(r):r}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let g="";return s&&(g="उणे "),g+=l(u),a&&(g+=" दशांश "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?o:c[e])}return n.join(" ")}(a)),g},e.ordinal=d},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
1
+ /*! n2words/mr-IN v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function s(e,n,t){if(null===n)return;if(e<n)return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function u(e){return 10n**BigInt(3+2*(e-1))}const a="शून्य",c="शंभर",f=["","पहिला","दुसरा","तिसरा","चौथा","पाचवा","सहावा"],g=["शून्य","एक","दोन","तीन","चार","पाच","सहा","सात","आठ","नऊ","दहा","अकरा","बारा","तेरा","चौदा","पंधरा","सोळा","सतरा","अठरा","एकोणीस","वीस","एकवीस","बावीस","तेवीस","चोवीस","पंचवीस","सव्वीस","सत्तावीस","अठ्ठावीस","एकोणतीस","तीस","एकतीस","बत्तीस","तेहेतीस","चौतीस","पस्तीस","छत्तीस","सदतीस","अडतीस","एकोणचाळीस","चाळीस","एकेचाळीस","बेचाळीस","त्रेचाळीस","चव्वेचाळीस","पंचेचाळीस","सेहेचाळीस","सत्तेचाळीस","अठ्ठेचाळीस","एकोणपन्नास","पन्नास","एक्काव्वन","बावन्न","त्रेपन्न","चोपन्न","पंचाव्वन","छप्पन्न","सत्तावन्न","अठ्ठावन्न","एकोणसाठ","साठ","एकसष्ठ","बासष्ठ","त्रेसष्ठ","चौसष्ठ","पासष्ठ","सहासष्ठ","सदुसष्ठ","अडुसष्ठ","एकोणसत्तर","सत्तर","एकाहत्तर","बाहत्तर","त्र्याहत्तर","चौऱ्याहत्तर","पंच्याहत्तर","शहात्तर","सत्याहत्तर","अठ्ठ्याहत्तर","एकोणऐंशी","ऐंशी","एक्याऐंशी","ब्याऐंशी","त्र्याऐंशी","चौऱ्याऐंशी","पंच्याऐंशी","शहाऐंशी","सत्याऐंशी","अठ्ठ्याऐंशी","एकोणनव्वद","नव्वद","एक्याण्णव","ब्याण्णव","त्र्याण्णव","चौऱ्याण्णव","पंच्याण्णव","शहाण्णव","सत्याण्णव","अठ्ठ्याण्णव","नव्याण्णव"],l=["","हजार","लाख","कोटी","अब्ज","खर्व","निखर्व","महापद्म","शंकू"],d=u(l.length),m=u(l.length),b=u(l.length);function p(e){if(0===e)return"";if(e<100)return g[e];const n=Math.trunc(e/100),t=e%100;return 0===t?g[n]+" "+c:g[n]+" "+c+" "+g[t]}function h(e){if(0n===e)return a;if(e<1000n)return p(Number(e));const n=[];n.push(Number(e%1000n));let t=e/1000n;for(;t>0n;)n.push(Number(t%100n)),t/=100n;const r=[];for(let e=n.length-1;e>=0;e--){const t=n[e];0!==t&&(r.push(0===e?p(t):g[t]),e>0&&l[e]&&r.push(l[e]))}return r.join(" ")}const w={mrIN:function(e){const t=function(e){const t=typeof e;if("bigint"==typeof e){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"==typeof e)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`,{cause:n})}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return s(t,m),(i=t)>=1n&&i<=6n?f[Number(i)]:h(i)+"वा";var i}};e.currency={mrIN:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"==typeof e)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);s(r,b);let u="";return n&&(u="उणे "),(r>0n||0n===i)&&(u+=h(r),u+=" "+(1n===r?"रुपया":"रुपये")),i>0n&&(r>0n&&(u+=" "),u+=h(i),u+=" "+(1n===i?"पैसा":"पैसे")),u}},e.mrIN=function(e){const{isNegative:o,integerPart:u,decimalPart:c}=function(e){const o=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"==typeof e)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e);s(u,d);let f="";return o&&(f="उणे "),f+=h(u),c&&(f+=" दशांश "+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?a:g[e])}return n.join(" ")}(c)),f},e.ordinal=w},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
package/dist/ms-MY.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/ms-MY v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),u=-1===s?n:n.slice(0,s)+n.slice(s+1),a=(-1===s?n.length:s)+r;return a>=u.length?i+u+"0".repeat(a-u.length):a<=0?i+"0."+"0".repeat(-a)+u:i+u.slice(0,a)+"."+u.slice(a)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const u=r.slice(0,s)||"0",a=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(u),cents:BigInt(a)}}const s=["","satu","dua","tiga","empat","lima","enam","tujuh","lapan","sembilan"],u=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","lapan belas","sembilan belas"],a=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","lapan puluh","sembilan puluh"],o="ratus",l="ribu",c=["juta","bilion","trilion"],g="sifar",f="minus";function m(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];r>0&&i.push(1===r?"se"+o:s[r]+" "+o);const l=e%100;return 0===l||i.push(l<10?s[l]:l<20?u[l-10]:0===n?a[t]:a[t]+" "+s[n]),i.join(" ")}function b(e){if(0n===e)return g;if(e<1000n)return m(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+l:m(n)+" "+l,t>0&&(r+=" "+m(t)),r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const u=[];let a=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===a)u.push(m(n));else if(1===a)u.push(1===n?"se"+l:m(n)+" "+l);else{const e=c[a-2];u.push(1===n?"se"+e:m(n)+" "+e)}a--}return u.join(" ")}(e)}function h(i){const{isNegative:s,integerPart:u,decimalPart:a}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===s)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let o="";return s&&(o=f+" "),o+=b(u),a&&(o+=" perpuluhan "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=g,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=b(BigInt(r))),n}(a)),o}function p(n){const r=function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return 1n===(i=r)?"pertama":"ke"+b(i);var i}function d(e){const{isNegative:t,dollars:r,cents:s}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let u="";return t&&(u=f+" "),(r>0n||0n===s)&&(u+=b(r),u+=" ringgit"),s>0n&&(r>0n&&(u+=" "),u+=b(s),u+=" sen"),u}export{h as toCardinal,d as toCurrency,p as toOrdinal};
1
+ /*! n2words/ms-MY v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),u=-1===s?n:n.slice(0,s)+n.slice(s+1),o=(-1===s?n.length:s)+r;return o>=u.length?i+u+"0".repeat(o-u.length):o<=0?i+"0."+"0".repeat(-o)+u:i+u.slice(0,o)+"."+u.slice(o)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const u=r.slice(0,s)||"0",o=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(u),cents:BigInt(o)}}function s(e,n,t){if(null===n)return;if(e<n&&!(t&&BigInt(t)>=n))return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function u(e){return 10n**BigInt(3*(e+1))}const o=["","satu","dua","tiga","empat","lima","enam","tujuh","lapan","sembilan"],a=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","lapan belas","sembilan belas"],l=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","lapan puluh","sembilan puluh"],g="ratus",c="ribu",f=["juta","bilion","trilion"],m=u(f.length+1),b=u(f.length+1),h=u(f.length+1),p="sifar",d="minus";function w(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];r>0&&i.push(1===r?"se"+g:o[r]+" "+g);const s=e%100;return 0===s||i.push(s<10?o[s]:s<20?a[s-10]:0===n?l[t]:l[t]+" "+o[n]),i.join(" ")}function N(e){if(0n===e)return p;if(e<1000n)return w(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+c:w(n)+" "+c,t>0&&(r+=" "+w(t)),r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const u=[];let o=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===o)u.push(w(n));else if(1===o)u.push(1===n?"se"+c:w(n)+" "+c);else{const e=f[o-2];u.push(1===n?"se"+e:w(n)+" "+e)}o--}return u.join(" ")}(e)}function v(i){const{isNegative:u,integerPart:o,decimalPart:a}=function(i){const s=typeof i;if("bigint"==typeof i)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"==typeof i){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"==typeof i)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);s(o,m,a);let l="";return u&&(l=d+" "),l+=N(o),a&&(l+=" perpuluhan "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=p,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=N(BigInt(r))),n}(a)),l}function I(n){const r=function(n){const r=typeof n;if("bigint"==typeof n){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"==typeof n){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"==typeof n)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`,{cause:e})}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return s(r,b),1n===(i=r)?"pertama":"ke"+N(i);var i}function y(e){const{isNegative:t,dollars:r,cents:u}=function(e){const t=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"==typeof e)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);s(r,h);let o="";return t&&(o=d+" "),(r>0n||0n===u)&&(o+=N(r),o+=" ringgit"),u>0n&&(r>0n&&(o+=" "),o+=N(u),o+=" sen"),o}export{m as cardinalMax,h as currencyMax,b as ordinalMax,v as toCardinal,y as toCurrency,I as toOrdinal};
package/dist/ms-MY.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/ms-MY v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),u=-1===s?n:n.slice(0,s)+n.slice(s+1),o=(-1===s?n.length:s)+r;return o>=u.length?i+u+"0".repeat(o-u.length):o<=0?i+"0."+"0".repeat(-o)+u:i+u.slice(0,o)+"."+u.slice(o)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const u=t.slice(0,s)||"0",o=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(u),cents:BigInt(o)}}const u=["","satu","dua","tiga","empat","lima","enam","tujuh","lapan","sembilan"],o=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","lapan belas","sembilan belas"],a=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","lapan puluh","sembilan puluh"],l="ratus",c="ribu",g=["juta","bilion","trilion"],f="sifar",m="minus";function b(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];r>0&&i.push(1===r?"se"+l:u[r]+" "+l);const s=e%100;return 0===s||i.push(s<10?u[s]:s<20?o[s-10]:0===n?a[t]:a[t]+" "+u[n]),i.join(" ")}function h(e){if(0n===e)return f;if(e<1000n)return b(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+c:b(n)+" "+c,t>0&&(r+=" "+b(t)),r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const u=[];let o=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===o)u.push(b(n));else if(1===o)u.push(1===n?"se"+c:b(n)+" "+c);else{const e=g[o-2];u.push(1===n?"se"+e:b(n)+" "+e)}o--}return u.join(" ")}(e)}const d={msMY:function(e){const t=function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return 1n===(i=t)?"pertama":"ke"+h(i);var i}};e.currency={msMY:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(t(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let u="";return n&&(u=m+" "),(r>0n||0n===i)&&(u+=h(r),u+=" ringgit"),i>0n&&(r>0n&&(u+=" "),u+=h(i),u+=" sen"),u}},e.msMY=function(e){const{isNegative:s,integerPart:u,decimalPart:o}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===s)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let a="";return s&&(a=m+" "),a+=h(u),o&&(a+=" perpuluhan "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=f,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=h(BigInt(r))),n}(o)),a},e.ordinal=d},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
1
+ /*! n2words/ms-MY v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}function o(e,n,t){if(null===n)return;if(e<n&&!(t&&BigInt(t)>=n))return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function u(e){return 10n**BigInt(3*(e+1))}const a=["","satu","dua","tiga","empat","lima","enam","tujuh","lapan","sembilan"],l=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","lapan belas","sembilan belas"],c=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","lapan puluh","sembilan puluh"],g="ratus",f="ribu",m=["juta","bilion","trilion"],p=u(m.length+1),b=u(m.length+1),h=u(m.length+1),d="sifar",w="minus";function N(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];r>0&&i.push(1===r?"se"+g:a[r]+" "+g);const s=e%100;return 0===s||i.push(s<10?a[s]:s<20?l[s-10]:0===n?c[t]:c[t]+" "+a[n]),i.join(" ")}function v(e){if(0n===e)return d;if(e<1000n)return N(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+f:N(n)+" "+f,t>0&&(r+=" "+N(t)),r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const o=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===u)o.push(N(n));else if(1===u)o.push(1===n?"se"+f:N(n)+" "+f);else{const e=m[u-2];o.push(1===n?"se"+e:N(n)+" "+e)}u--}return o.join(" ")}(e)}const y={msMY:function(e){const t=function(e){const t=typeof e;if("bigint"==typeof e){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"==typeof e)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`,{cause:n})}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return o(t,b),1n===(i=t)?"pertama":"ke"+v(i);var i}};e.currency={msMY:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(t(e))}if("string"==typeof e)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);o(r,h);let u="";return n&&(u=w+" "),(r>0n||0n===i)&&(u+=v(r),u+=" ringgit"),i>0n&&(r>0n&&(u+=" "),u+=v(i),u+=" sen"),u}},e.msMY=function(e){const{isNegative:s,integerPart:u,decimalPart:a}=function(e){const s=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"==typeof e)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);o(u,p,a);let l="";return s&&(l=w+" "),l+=v(u),a&&(l+=" perpuluhan "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=d,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=v(BigInt(r))),n}(a)),l},e.ordinal=y},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
package/dist/nb-NO.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/nb-NO v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const s=["","en","to","tre","fire","fem","seks","syv","åtte","ni"],o=["ti","elleve","tolv","tretten","fjorten","femten","seksten","sytten","atten","nitten"],u=["","","tjue","tretti","førti","femti","seksti","sytti","åtti","nitti"],l="tusen",a="null",c="minus",d=["million","milliard","billion","billiard","kvintillion","sekstillion","septillion","oktillion"],g={1:"første",2:"andre",3:"tredje",4:"fjerde",5:"femte",6:"sjette",7:"sjuende",8:"åttende",9:"niende",10:"tiende",11:"ellevte",12:"tolvte"};function f(e){if(0===e)return{word:"",hasHundred:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let l=!1;r>0&&(l=!0,i.push(s[r]+" hundre"));const a=e%100;return 0===a||i.push(a<10?s[n]:a<20?o[n]:0===n?u[t]:u[t]+"-"+s[n]),2===i.length?{word:i[0]+" og "+i[1],hasHundred:!0}:{word:i[0]||"",hasHundred:l}}function h(e){if(0n===e)return a;if(e<1000n)return f(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=f(n).word+" "+l;if(t>0){const e=f(t);r+=e.hasHundred?", "+e.word:" og "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const o=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=f(n);o.push(0===u?{word:e.word,hasHundred:e.hasHundred,type:"units"}:1===u?{word:e.word+" "+l,hasHundred:!1,type:"thousand"}:{word:e.word+" "+d[u-2],hasHundred:!1,type:"million"})}u--}return function(e){if(0===e.length)return a;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t],i=e[t+1];n.push(r.word),i&&n.push("thousand"===r.type?i.hasHundred?", ":" og ":"million"===r.type?"units"!==i.type||i.hasHundred?" ":" og ":" ")}return n.join("")}(o)}(e)}function m(i){const{isNegative:s,integerPart:o,decimalPart:u}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===s)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let l="";return s&&(l=c+" "),l+=h(o),u&&(l+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=a,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=h(BigInt(r))),n}(u)),l}function w(n){return function(e){if(e>=1n&&e<=12n)return g[Number(e)];const n=Number(e),t=h(e);return n>=13&&n<=19||t.endsWith("en")?t.slice(0,-2)+"ende":t.endsWith("ni")?t+"ede":t+"de"}(function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n))}function b(e){const{isNegative:t,dollars:r,cents:s}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let o="";return t&&(o=c+" "),(r>0n||0n===s)&&(o+=1n===r?"en krone":h(r)+" kroner"),s>0n&&(r>0n&&(o+=" og "),o+=h(s)+" øre"),o}export{m as toCardinal,b as toCurrency,w as toOrdinal};
1
+ /*! n2words/nb-NO v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function o(e,n,t){if(null===n)return;if(e<n&&!(t&&BigInt(t)>=n))return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function s(e){return 10n**BigInt(3*(e+1))}const u=["","en","to","tre","fire","fem","seks","syv","åtte","ni"],l=["ti","elleve","tolv","tretten","fjorten","femten","seksten","sytten","atten","nitten"],a=["","","tjue","tretti","førti","femti","seksti","sytti","åtti","nitti"],g="tusen",c="null",f="minus",d=["million","milliard","billion","billiard","kvintillion","sekstillion","septillion","oktillion"],h=s(d.length+1),m=s(d.length+1),w=s(d.length+1),b={1:"første",2:"andre",3:"tredje",4:"fjerde",5:"femte",6:"sjette",7:"sjuende",8:"åttende",9:"niende",10:"tiende",11:"ellevte",12:"tolvte"};function p(e){if(0===e)return{word:"",hasHundred:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let o=!1;r>0&&(o=!0,i.push(u[r]+" hundre"));const s=e%100;return 0===s||i.push(s<10?u[n]:s<20?l[n]:0===n?a[t]:a[t]+"-"+u[n]),2===i.length?{word:i[0]+" og "+i[1],hasHundred:!0}:{word:i[0]||"",hasHundred:o}}function v(e){if(0n===e)return c;if(e<1000n)return p(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=p(n).word+" "+g;if(t>0){const e=p(t);r+=e.hasHundred?", "+e.word:" og "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let o=0;for(i>0&&(r.push(Number(n.slice(0,i))),o=i);o<t;)r.push(Number(n.slice(o,o+3))),o+=3;const s=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=p(n);s.push(0===u?{word:e.word,hasHundred:e.hasHundred,type:"units"}:1===u?{word:e.word+" "+g,hasHundred:!1,type:"thousand"}:{word:e.word+" "+d[u-2],hasHundred:!1,type:"million"})}u--}return function(e){if(0===e.length)return c;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t],i=e[t+1];n.push(r.word),i&&n.push("thousand"===r.type?i.hasHundred?", ":" og ":"million"===r.type?"units"!==i.type||i.hasHundred?" ":" og ":" ")}return n.join("")}(s)}(e)}function N(i){const{isNegative:s,integerPart:u,decimalPart:l}=function(i){const o=typeof i;if("bigint"==typeof i)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"==typeof i){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"==typeof i)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i);o(u,h,l);let a="";return s&&(a=f+" "),a+=v(u),l&&(a+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=c,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=v(BigInt(r))),n}(l)),a}function y(n){const r=function(n){const r=typeof n;if("bigint"==typeof n){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"==typeof n){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"==typeof n)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`,{cause:e})}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return o(r,m),function(e){if(e>=1n&&e<=12n)return b[Number(e)];const n=Number(e),t=v(e);return n>=13&&n<=19||t.endsWith("en")?t.slice(0,-2)+"ende":t.endsWith("ni")?t+"ede":t+"de"}(r)}function I(e){const{isNegative:t,dollars:r,cents:s}=function(e){const t=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"==typeof e)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);o(r,w);let u="";return t&&(u=f+" "),(r>0n||0n===s)&&(u+=1n===r?"en krone":v(r)+" kroner"),s>0n&&(r>0n&&(u+=" og "),u+=v(s)+" øre"),u}export{h as cardinalMax,w as currencyMax,m as ordinalMax,N as toCardinal,I as toCurrency,y as toOrdinal};
package/dist/nb-NO.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/nb-NO v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const o=["","en","to","tre","fire","fem","seks","syv","åtte","ni"],u=["ti","elleve","tolv","tretten","fjorten","femten","seksten","sytten","atten","nitten"],l=["","","tjue","tretti","førti","femti","seksti","sytti","åtti","nitti"],a="tusen",d="null",c="minus",f=["million","milliard","billion","billiard","kvintillion","sekstillion","septillion","oktillion"],g={1:"første",2:"andre",3:"tredje",4:"fjerde",5:"femte",6:"sjette",7:"sjuende",8:"åttende",9:"niende",10:"tiende",11:"ellevte",12:"tolvte"};function h(e){if(0===e)return{word:"",hasHundred:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let s=!1;r>0&&(s=!0,i.push(o[r]+" hundre"));const a=e%100;return 0===a||i.push(a<10?o[n]:a<20?u[n]:0===n?l[t]:l[t]+"-"+o[n]),2===i.length?{word:i[0]+" og "+i[1],hasHundred:!0}:{word:i[0]||"",hasHundred:s}}function m(e){if(0n===e)return d;if(e<1000n)return h(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=h(n).word+" "+a;if(t>0){const e=h(t);r+=e.hasHundred?", "+e.word:" og "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;const o=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=h(n);o.push(0===u?{word:e.word,hasHundred:e.hasHundred,type:"units"}:1===u?{word:e.word+" "+a,hasHundred:!1,type:"thousand"}:{word:e.word+" "+f[u-2],hasHundred:!1,type:"million"})}u--}return function(e){if(0===e.length)return d;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t],i=e[t+1];n.push(r.word),i&&n.push("thousand"===r.type?i.hasHundred?", ":" og ":"million"===r.type?"units"!==i.type||i.hasHundred?" ":" og ":" ")}return n.join("")}(o)}(e)}const w={nbNO:function(e){return function(e){if(e>=1n&&e<=12n)return g[Number(e)];const n=Number(e),t=m(e);return n>=13&&n<=19||t.endsWith("en")?t.slice(0,-2)+"ende":t.endsWith("ni")?t+"ede":t+"de"}(function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e))}};e.currency={nbNO:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(t(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o=c+" "),(r>0n||0n===i)&&(o+=1n===r?"en krone":m(r)+" kroner"),i>0n&&(r>0n&&(o+=" og "),o+=m(i)+" øre"),o}},e.nbNO=function(e){const{isNegative:s,integerPart:o,decimalPart:u}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===s)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let l="";return s&&(l=c+" "),l+=m(o),u&&(l+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=d,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=m(BigInt(r))),n}(u)),l},e.ordinal=w},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
1
+ /*! n2words/nb-NO v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function s(e,n,t){if(null===n)return;if(e<n&&!(t&&BigInt(t)>=n))return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function u(e){return 10n**BigInt(3*(e+1))}const l=["","en","to","tre","fire","fem","seks","syv","åtte","ni"],a=["ti","elleve","tolv","tretten","fjorten","femten","seksten","sytten","atten","nitten"],c=["","","tjue","tretti","førti","femti","seksti","sytti","åtti","nitti"],f="tusen",d="null",g="minus",h=["million","milliard","billion","billiard","kvintillion","sekstillion","septillion","oktillion"],m=u(h.length+1),w=u(h.length+1),b=u(h.length+1),p={1:"første",2:"andre",3:"tredje",4:"fjerde",5:"femte",6:"sjette",7:"sjuende",8:"åttende",9:"niende",10:"tiende",11:"ellevte",12:"tolvte"};function N(e){if(0===e)return{word:"",hasHundred:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let o=!1;r>0&&(o=!0,i.push(l[r]+" hundre"));const s=e%100;return 0===s||i.push(s<10?l[n]:s<20?a[n]:0===n?c[t]:c[t]+"-"+l[n]),2===i.length?{word:i[0]+" og "+i[1],hasHundred:!0}:{word:i[0]||"",hasHundred:o}}function v(e){if(0n===e)return d;if(e<1000n)return N(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=N(n).word+" "+f;if(t>0){const e=N(t);r+=e.hasHundred?", "+e.word:" og "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let o=0;for(i>0&&(r.push(Number(n.slice(0,i))),o=i);o<t;)r.push(Number(n.slice(o,o+3))),o+=3;const s=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=N(n);s.push(0===u?{word:e.word,hasHundred:e.hasHundred,type:"units"}:1===u?{word:e.word+" "+f,hasHundred:!1,type:"thousand"}:{word:e.word+" "+h[u-2],hasHundred:!1,type:"million"})}u--}return function(e){if(0===e.length)return d;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t],i=e[t+1];n.push(r.word),i&&n.push("thousand"===r.type?i.hasHundred?", ":" og ":"million"===r.type?"units"!==i.type||i.hasHundred?" ":" og ":" ")}return n.join("")}(s)}(e)}const y={nbNO:function(e){const t=function(e){const t=typeof e;if("bigint"==typeof e){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"==typeof e)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`,{cause:n})}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return s(t,w),function(e){if(e>=1n&&e<=12n)return p[Number(e)];const n=Number(e),t=v(e);return n>=13&&n<=19||t.endsWith("en")?t.slice(0,-2)+"ende":t.endsWith("ni")?t+"ede":t+"de"}(t)}};e.currency={nbNO:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"==typeof e)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);s(r,b);let u="";return n&&(u=g+" "),(r>0n||0n===i)&&(u+=1n===r?"en krone":v(r)+" kroner"),i>0n&&(r>0n&&(u+=" og "),u+=v(i)+" øre"),u}},e.nbNO=function(e){const{isNegative:o,integerPart:u,decimalPart:l}=function(e){const o=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"==typeof e)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e);s(u,m,l);let a="";return o&&(a=g+" "),a+=v(u),l&&(a+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=d,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=v(BigInt(r))),n}(l)),a},e.ordinal=y},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
package/dist/nl-NL.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! n2words/nl-NL v4.0.0 | MIT License | github.com/forzagreen/n2words */
2
- function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function o(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const s=["","een","twee","drie","vier","vijf","zes","zeven","acht","negen"],u=["tien","elf","twaalf","dertien","veertien","vijftien","zestien","zeventien","achttien","negentien"],c=["","","twintig","dertig","veertig","vijftig","zestig","zeventig","tachtig","negentig"],l="honderd",a=["duizend","miljoen","miljard","biljoen","biljard","triljoen","triljard","quadriljoen","quadriljard"],f="nul",g="euro";function d(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100),o=e%100;let a="";if(i>0&&(a=1===i?l:s[i]+l),0===o);else if(o<10)a+=i>0&&n?"en"+s[o]:s[o];else if(o<20)a+=i>0&&n&&o<13?"en"+u[t]:u[t];else if(0===t)a+=c[r];else{const e=s[t],n=e.endsWith("e")?"ën":"en";a+=e+n+c[r]}return a}function b(e,n){if(0n===e)return f;const{accentOne:t,includeOptionalAnd:r,noHundredPairing:i}=n,o=e=>t?e.replace(/\been\b/g,"één"):e;if(e<1000n)return o(d(Number(e),r));if(!i&&e>=1100n&&e<10000n){const n=Number(e/100n),t=Number(e%100n);if(n%10!=0){let e=d(n,r)+l;if(t>0){const n=d(t,r);e+=r&&t<13?" en "+n:" "+n}return o(e)}}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let i;if(i=1===n?a[0]:d(n,r)+a[0],t>0){const e=d(t,r);i+=r&&t<13?" en "+e:" "+e}return o(i)}return o(function(e,n){const{includeOptionalAnd:t}=n,r=[];let i=e;for(;i>0n;)r.push(Number(i%1000n)),i/=1000n;let o="",s=!1;for(let e=r.length-1;e>=0;e--){const n=r[e];if(0!==n)if(0===e){const e=d(n,t);o?o+=s&&t&&n<13?" en "+e:" "+e:o=e,s=!1}else if(1===e)o&&(o+=" "),o+=1===n?a[0]:d(n,t)+a[0],s=!0;else{const r=a[e-1];o&&(o+=" "),o+=1===n?"een "+r:d(n,t)+" "+r,s=!0}}return o}(e,n))}function m(i,s){s=o(s);const{isNegative:u,integerPart:c,decimalPart:l}=function(i){const o=typeof i;if("bigint"===o)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===o){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===o)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i),{accentOne:a=!0,includeOptionalAnd:g=!1,noHundredPairing:d=!1}=s,m={accentOne:a,includeOptionalAnd:g,noHundredPairing:d};let w="";return u&&(w="min "),w+=b(c,m),l&&(w+=" komma "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=f,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=b(BigInt(i),{...n,noHundredPairing:!0})),t}(l,m)),w}const w=["","eerste","tweede","derde","vierde","vijfde","zesde","zevende","achtste","negende"];function h(e,n){return n>=1&&n<=9?w[n]:n<20?e.endsWith("d")?e+"e":e+"de":e+"ste"}function v(e){if(0===e)return"";const n=Math.trunc(e/100),t=e%100;if(0===n)return h(d(e,!1),e);let r="";return r=1===n?l:s[n]+l,0===t?r+"ste":r+" "+h(d(t,!1),t)}function N(n){const r=function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return r<10n?w[Number(r)]:r<100n?h(d(Number(r),!1),Number(r)):r<1000n?v(Number(r)):function(e){const n=[];let t=e;for(;t>0n;)n.push(Number(t%1000n)),t/=1000n;let r=0;for(let e=0;e<n.length;e++)if(0!==n[e]){r=e;break}const i=["","duizendste","miljoenste","miljardste","biljoenste","biljardste","triljoenste"];let o="";for(let e=n.length-1;e>=0;e--){const t=n[e];if(0!==t)if(o&&(o+=" "),e===r)o+=0===e?v(t):1===t&&e>0?1===e?i[e]:"een "+i[e]:1===e?d(t,!1)+i[e]:d(t,!1)+" "+i[e];else if(1===e)o+=1===t?a[0]:d(t,!1)+a[0];else{const n=a[e-1];o+=1===t?"een "+n:d(t,!1)+" "+n}}return o}(r)}function p(e,t){t=o(t);const{isNegative:r,dollars:s,cents:u}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:c=!0}=t;let l="";r&&(l="min ");const a=s>0n,d=u>0n;if(!a&&!d)return f+" "+g;const m={accentOne:!0,includeOptionalAnd:!1,noHundredPairing:!0};return a&&(l+=b(s,m)+" "+(1n===s?"euro":g)),d&&(a&&(l+=c?" en ":" "),l+=b(u,m)+" cent"),l}export{m as toCardinal,p as toCurrency,N as toOrdinal};
1
+ /*! n2words/nl-NL v5.1.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function o(e,n,t){if(null===n)return;if(e<n&&!(t&&BigInt(t)>=n))return;const r=n.toString().length-1,i=n===10n**BigInt(r)?`10^${r} - 1`:""+(n-1n);throw new RangeError(`Number too large to convert: the largest supported value is ${i}`)}function s(e){return 10n**BigInt(3*(e+1))}function u(e,n,t){const r={...n};if(void 0===e)return r;if(!function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e);const i=Object.keys(n);for(const[t,o]of Object.entries(e)){if(!Object.hasOwn(n,t))throw new TypeError(`Unknown option "${t}" — expected one of: ${i.join(", ")}`);if(void 0!==o){if(typeof o!=typeof r[t])throw new TypeError(`Option "${t}" must be a ${typeof r[t]}, got ${typeof o}`);r[t]=o}}return r}const c=["","een","twee","drie","vier","vijf","zes","zeven","acht","negen"],l=["tien","elf","twaalf","dertien","veertien","vijftien","zestien","zeventien","achttien","negentien"],a=["","","twintig","dertig","veertig","vijftig","zestig","zeventig","tachtig","negentig"],f="honderd",g=["duizend","miljoen","miljard","biljoen","biljard","triljoen","triljard","quadriljoen","quadriljard"],d=["","duizendste","miljoenste","miljardste","biljoenste","biljardste","triljoenste"],b=s(g.length),m=s(d.length-1),p=s(g.length),h="nul",w="euro";function v(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100),o=e%100;let s="";if(i>0&&(s=1===i?f:c[i]+f),0===o);else if(o<10)s+=i>0&&n?"en"+c[o]:c[o];else if(o<20)s+=i>0&&n&&o<13?"en"+l[t]:l[t];else if(0===t)s+=a[r];else{const e=c[t],n=e.endsWith("e")?"ën":"en";s+=e+n+a[r]}return s}function N(e,n){if(0n===e)return h;const{accentOne:t,includeOptionalAnd:r,noHundredPairing:i}=n,o=e=>t?e.replace(/\been\b/g,"één"):e;if(e<1000n)return o(v(Number(e),r));if(!i&&e>=1100n&&e<10000n){const n=Number(e/100n),t=Number(e%100n);if(n%10!=0){let e=v(n,r)+f;if(t>0){const n=v(t,r);e+=r&&t<13?" en "+n:" "+n}return o(e)}}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let i;if(i=1===n?g[0]:v(n,r)+g[0],t>0){const e=v(t,r);i+=r&&t<13?" en "+e:" "+e}return o(i)}return o(function(e,n){const{includeOptionalAnd:t}=n,r=[];let i=e;for(;i>0n;)r.push(Number(i%1000n)),i/=1000n;let o="",s=!1;for(let e=r.length-1;e>=0;e--){const n=r[e];if(0!==n)if(0===e){const e=v(n,t);o?o+=s&&t&&n<13?" en "+e:" "+e:o=e,s=!1}else if(1===e)o&&(o+=" "),o+=1===n?g[0]:v(n,t)+g[0],s=!0;else{const r=g[e-1];o&&(o+=" "),o+=1===n?"een "+r:v(n,t)+" "+r,s=!0}}return o}(e,n))}const y={accentOne:!0,includeOptionalAnd:!1,noHundredPairing:!1};function O(i,s){const{isNegative:c,integerPart:l,decimalPart:a}=function(i){const o=typeof i;if("bigint"==typeof i)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"==typeof i){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"==typeof i)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i);o(l,b,a);const{accentOne:f,includeOptionalAnd:g,noHundredPairing:d}=u(s,y),m={accentOne:f,includeOptionalAnd:g,noHundredPairing:d};let p="";return c&&(p="min "),p+=N(l,m),a&&(p+=" komma "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=h,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=N(BigInt(i),{...n,noHundredPairing:!0})),t}(a,m)),p}const I=["","eerste","tweede","derde","vierde","vijfde","zesde","zevende","achtste","negende"];function j(e,n){return n>=1&&n<=9?I[n]:n<20?e.endsWith("d")?e+"e":e+"de":e+"ste"}function E(e){if(0===e)return"";const n=Math.trunc(e/100),t=e%100;if(0===n)return j(v(e,!1),e);let r;return r=1===n?f:c[n]+f,0===t?r+"ste":r+" "+j(v(t,!1),t)}function R(n){const r=function(n){const r=typeof n;if("bigint"==typeof n){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"==typeof n){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"==typeof n)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`,{cause:e})}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return o(r,m),r<10n?I[Number(r)]:r<100n?j(v(Number(r),!1),Number(r)):r<1000n?E(Number(r)):function(e){const n=[];let t=e;for(;t>0n;)n.push(Number(t%1000n)),t/=1000n;let r=0;for(let e=0;e<n.length;e++)if(0!==n[e]){r=e;break}let i="";for(let e=n.length-1;e>=0;e--){const t=n[e];if(0!==t)if(i&&(i+=" "),e===r)i+=0===e?E(t):1===t&&e>0?1===e?d[e]:"een "+d[e]:1===e?v(t,!1)+d[e]:v(t,!1)+" "+d[e];else if(1===e)i+=1===t?g[0]:v(t,!1)+g[0];else{const n=g[e-1];i+=1===t?"een "+n:v(t,!1)+" "+n}}return i}(r)}const B={and:!0};function P(e,t){const{isNegative:r,dollars:s,cents:c}=function(e){const t=typeof e;if("bigint"==typeof e)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"==typeof e){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"==typeof e)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);o(s,p);const{and:l}=u(t,B);let a="";r&&(a="min ");const f=s>0n,g=c>0n;if(!f&&!g)return h+" "+w;const d={accentOne:!0,includeOptionalAnd:!1,noHundredPairing:!0};return f&&(a+=N(s,d)+" "+(1n===s?"euro":w)),g&&(f&&(a+=l?" en ":" "),a+=N(c,d)+" cent"),a}export{y as cardinalDefaults,b as cardinalMax,B as currencyDefaults,p as currencyMax,m as ordinalMax,O as toCardinal,P as toCurrency,R as toOrdinal};