n2words 3.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CHANGELOG.md +51 -40
  2. package/LICENSE +1 -1
  3. package/README.md +64 -184
  4. package/dist/am-ET.js +2 -0
  5. package/dist/am-ET.umd.js +2 -0
  6. package/dist/am-Latn-ET.js +2 -0
  7. package/dist/am-Latn-ET.umd.js +2 -0
  8. package/dist/ar-SA.js +2 -0
  9. package/dist/ar-SA.umd.js +2 -0
  10. package/dist/az-AZ.js +2 -0
  11. package/dist/az-AZ.umd.js +2 -0
  12. package/dist/bn-BD.js +2 -0
  13. package/dist/bn-BD.umd.js +2 -0
  14. package/dist/cs-CZ.js +2 -0
  15. package/dist/cs-CZ.umd.js +2 -0
  16. package/dist/da-DK.js +2 -0
  17. package/dist/da-DK.umd.js +2 -0
  18. package/dist/de-DE.js +2 -0
  19. package/dist/de-DE.umd.js +2 -0
  20. package/dist/el-GR.js +2 -0
  21. package/dist/el-GR.umd.js +2 -0
  22. package/dist/en-AU.js +2 -0
  23. package/dist/en-AU.umd.js +2 -0
  24. package/dist/en-BD.js +2 -0
  25. package/dist/en-BD.umd.js +2 -0
  26. package/dist/en-CA.js +2 -0
  27. package/dist/en-CA.umd.js +2 -0
  28. package/dist/en-GB.js +2 -0
  29. package/dist/en-GB.umd.js +2 -0
  30. package/dist/en-GH.js +2 -0
  31. package/dist/en-GH.umd.js +2 -0
  32. package/dist/en-IE.js +2 -0
  33. package/dist/en-IE.umd.js +2 -0
  34. package/dist/en-IN.js +2 -0
  35. package/dist/en-IN.umd.js +2 -0
  36. package/dist/en-KE.js +2 -0
  37. package/dist/en-KE.umd.js +2 -0
  38. package/dist/en-MY.js +2 -0
  39. package/dist/en-MY.umd.js +2 -0
  40. package/dist/en-NG.js +2 -0
  41. package/dist/en-NG.umd.js +2 -0
  42. package/dist/en-NZ.js +2 -0
  43. package/dist/en-NZ.umd.js +2 -0
  44. package/dist/en-PH.js +2 -0
  45. package/dist/en-PH.umd.js +2 -0
  46. package/dist/en-PK.js +2 -0
  47. package/dist/en-PK.umd.js +2 -0
  48. package/dist/en-SG.js +2 -0
  49. package/dist/en-SG.umd.js +2 -0
  50. package/dist/en-US.js +2 -0
  51. package/dist/en-US.umd.js +2 -0
  52. package/dist/en-ZA.js +2 -0
  53. package/dist/en-ZA.umd.js +2 -0
  54. package/dist/es-ES.js +2 -0
  55. package/dist/es-ES.umd.js +2 -0
  56. package/dist/es-MX.js +2 -0
  57. package/dist/es-MX.umd.js +2 -0
  58. package/dist/es-US.js +2 -0
  59. package/dist/es-US.umd.js +2 -0
  60. package/dist/fa-IR.js +2 -0
  61. package/dist/fa-IR.umd.js +2 -0
  62. package/dist/fi-FI.js +2 -0
  63. package/dist/fi-FI.umd.js +2 -0
  64. package/dist/fil-PH.js +2 -0
  65. package/dist/fil-PH.umd.js +2 -0
  66. package/dist/fr-BE.js +2 -0
  67. package/dist/fr-BE.umd.js +2 -0
  68. package/dist/fr-FR.js +2 -0
  69. package/dist/fr-FR.umd.js +2 -0
  70. package/dist/gu-IN.js +2 -0
  71. package/dist/gu-IN.umd.js +2 -0
  72. package/dist/ha-NG.js +2 -0
  73. package/dist/ha-NG.umd.js +2 -0
  74. package/dist/hbo-IL.js +2 -0
  75. package/dist/hbo-IL.umd.js +2 -0
  76. package/dist/he-IL.js +2 -0
  77. package/dist/he-IL.umd.js +2 -0
  78. package/dist/hi-IN.js +2 -0
  79. package/dist/hi-IN.umd.js +2 -0
  80. package/dist/hr-HR.js +2 -0
  81. package/dist/hr-HR.umd.js +2 -0
  82. package/dist/hu-HU.js +2 -0
  83. package/dist/hu-HU.umd.js +2 -0
  84. package/dist/id-ID.js +2 -0
  85. package/dist/id-ID.umd.js +2 -0
  86. package/dist/it-IT.js +2 -0
  87. package/dist/it-IT.umd.js +2 -0
  88. package/dist/ja-JP.js +2 -0
  89. package/dist/ja-JP.umd.js +2 -0
  90. package/dist/ka-GE.js +2 -0
  91. package/dist/ka-GE.umd.js +2 -0
  92. package/dist/kn-IN.js +2 -0
  93. package/dist/kn-IN.umd.js +2 -0
  94. package/dist/ko-KR.js +2 -0
  95. package/dist/ko-KR.umd.js +2 -0
  96. package/dist/lt-LT.js +2 -0
  97. package/dist/lt-LT.umd.js +2 -0
  98. package/dist/lv-LV.js +2 -0
  99. package/dist/lv-LV.umd.js +2 -0
  100. package/dist/mr-IN.js +2 -0
  101. package/dist/mr-IN.umd.js +2 -0
  102. package/dist/ms-MY.js +2 -0
  103. package/dist/ms-MY.umd.js +2 -0
  104. package/dist/nb-NO.js +2 -0
  105. package/dist/nb-NO.umd.js +2 -0
  106. package/dist/nl-NL.js +2 -0
  107. package/dist/nl-NL.umd.js +2 -0
  108. package/dist/pa-IN.js +2 -0
  109. package/dist/pa-IN.umd.js +2 -0
  110. package/dist/pl-PL.js +2 -0
  111. package/dist/pl-PL.umd.js +2 -0
  112. package/dist/pt-BR.js +2 -0
  113. package/dist/pt-BR.umd.js +2 -0
  114. package/dist/pt-PT.js +2 -0
  115. package/dist/pt-PT.umd.js +2 -0
  116. package/dist/ro-RO.js +2 -0
  117. package/dist/ro-RO.umd.js +2 -0
  118. package/dist/ru-RU.js +2 -0
  119. package/dist/ru-RU.umd.js +2 -0
  120. package/dist/sr-Cyrl-RS.js +2 -0
  121. package/dist/sr-Cyrl-RS.umd.js +2 -0
  122. package/dist/sr-Latn-RS.js +2 -0
  123. package/dist/sr-Latn-RS.umd.js +2 -0
  124. package/dist/sv-SE.js +2 -0
  125. package/dist/sv-SE.umd.js +2 -0
  126. package/dist/sw-KE.js +2 -0
  127. package/dist/sw-KE.umd.js +2 -0
  128. package/dist/ta-IN.js +2 -0
  129. package/dist/ta-IN.umd.js +2 -0
  130. package/dist/te-IN.js +2 -0
  131. package/dist/te-IN.umd.js +2 -0
  132. package/dist/th-TH.js +2 -0
  133. package/dist/th-TH.umd.js +2 -0
  134. package/dist/tr-TR.js +2 -0
  135. package/dist/tr-TR.umd.js +2 -0
  136. package/dist/uk-UA.js +2 -0
  137. package/dist/uk-UA.umd.js +2 -0
  138. package/dist/ur-PK.js +2 -0
  139. package/dist/ur-PK.umd.js +2 -0
  140. package/dist/vi-VN.js +2 -0
  141. package/dist/vi-VN.umd.js +2 -0
  142. package/dist/yo-NG.js +2 -0
  143. package/dist/yo-NG.umd.js +2 -0
  144. package/dist/zh-Hans-CN.js +2 -0
  145. package/dist/zh-Hans-CN.umd.js +2 -0
  146. package/dist/zh-Hant-TW.js +2 -0
  147. package/dist/zh-Hant-TW.umd.js +2 -0
  148. package/package.json +61 -88
  149. package/src/am-ET.d.ts +40 -0
  150. package/src/am-ET.js +269 -0
  151. package/src/am-Latn-ET.d.ts +35 -0
  152. package/src/am-Latn-ET.js +264 -0
  153. package/src/ar-SA.d.ts +49 -0
  154. package/{lib/languages/ar.js → src/ar-SA.js} +177 -15
  155. package/src/az-AZ.d.ts +37 -0
  156. package/src/az-AZ.js +312 -0
  157. package/src/bn-BD.d.ts +36 -0
  158. package/{lib/languages/bn.js → src/bn-BD.js} +110 -6
  159. package/src/cs-CZ.d.ts +49 -0
  160. package/{lib/languages/cs.js → src/cs-CZ.js} +240 -14
  161. package/src/da-DK.d.ts +44 -0
  162. package/{lib/languages/da.js → src/da-DK.js} +131 -11
  163. package/src/de-DE.d.ts +57 -0
  164. package/src/de-DE.js +603 -0
  165. package/src/el-GR.d.ts +40 -0
  166. package/src/el-GR.js +418 -0
  167. package/src/en-AU.d.ts +47 -0
  168. package/src/en-AU.js +423 -0
  169. package/src/en-BD.d.ts +49 -0
  170. package/src/en-BD.js +415 -0
  171. package/src/en-CA.d.ts +63 -0
  172. package/src/en-CA.js +518 -0
  173. package/src/en-GB.d.ts +56 -0
  174. package/src/en-GB.js +469 -0
  175. package/src/en-GH.d.ts +11 -0
  176. package/src/en-GH.js +345 -0
  177. package/src/en-IE.d.ts +56 -0
  178. package/src/en-IE.js +479 -0
  179. package/src/en-IN.d.ts +49 -0
  180. package/src/en-IN.js +415 -0
  181. package/src/en-KE.d.ts +11 -0
  182. package/src/en-KE.js +345 -0
  183. package/src/en-MY.d.ts +11 -0
  184. package/src/en-MY.js +347 -0
  185. package/src/en-NG.d.ts +56 -0
  186. package/src/en-NG.js +479 -0
  187. package/src/en-NZ.d.ts +11 -0
  188. package/{lib/languages/en.js → src/en-NZ.js} +164 -31
  189. package/src/en-PH.d.ts +11 -0
  190. package/src/en-PH.js +345 -0
  191. package/src/en-PK.d.ts +49 -0
  192. package/src/en-PK.js +415 -0
  193. package/src/en-SG.d.ts +11 -0
  194. package/src/en-SG.js +345 -0
  195. package/src/en-US.d.ts +63 -0
  196. package/src/en-US.js +516 -0
  197. package/src/en-ZA.d.ts +56 -0
  198. package/src/en-ZA.js +478 -0
  199. package/src/es-ES.d.ts +65 -0
  200. package/src/es-ES.js +541 -0
  201. package/src/es-MX.d.ts +58 -0
  202. package/{lib/languages/es.js → src/es-MX.js} +228 -18
  203. package/src/es-US.d.ts +58 -0
  204. package/src/es-US.js +446 -0
  205. package/src/fa-IR.d.ts +38 -0
  206. package/src/fa-IR.js +246 -0
  207. package/src/fi-FI.d.ts +46 -0
  208. package/{lib/languages/fi.js → src/fi-FI.js} +152 -11
  209. package/src/fil-PH.d.ts +37 -0
  210. package/{lib/languages/fil.js → src/fil-PH.js} +144 -8
  211. package/src/fr-BE.d.ts +49 -0
  212. package/{lib/languages → src}/fr-BE.js +175 -13
  213. package/src/fr-FR.d.ts +63 -0
  214. package/{lib/languages/fr.js → src/fr-FR.js} +182 -16
  215. package/src/gu-IN.d.ts +35 -0
  216. package/{lib/languages/gu.js → src/gu-IN.js} +115 -6
  217. package/src/ha-NG.d.ts +37 -0
  218. package/{lib/languages/ha.js → src/ha-NG.js} +107 -8
  219. package/src/hbo-IL.d.ts +39 -0
  220. package/{lib/languages/hbo.js → src/hbo-IL.js} +211 -19
  221. package/src/he-IL.d.ts +37 -0
  222. package/src/he-IL.js +537 -0
  223. package/src/hi-IN.d.ts +36 -0
  224. package/{lib/languages/hi.js → src/hi-IN.js} +116 -6
  225. package/src/hr-HR.d.ts +42 -0
  226. package/src/hr-HR.js +463 -0
  227. package/src/hu-HU.d.ts +38 -0
  228. package/{lib/languages/hu.js → src/hu-HU.js} +164 -6
  229. package/src/id-ID.d.ts +38 -0
  230. package/{lib/languages/id.js → src/id-ID.js} +99 -8
  231. package/src/it-IT.d.ts +59 -0
  232. package/{lib/languages/it.js → src/it-IT.js} +179 -15
  233. package/src/ja-JP.d.ts +49 -0
  234. package/{lib/languages/ja.js → src/ja-JP.js} +111 -12
  235. package/src/ka-GE.d.ts +44 -0
  236. package/{lib/languages/ka.js → src/ka-GE.js} +113 -11
  237. package/src/kn-IN.d.ts +35 -0
  238. package/{lib/languages/kn.js → src/kn-IN.js} +115 -6
  239. package/src/ko-KR.d.ts +45 -0
  240. package/{lib/languages/ko.js → src/ko-KR.js} +94 -12
  241. package/src/lt-LT.d.ts +49 -0
  242. package/src/lt-LT.js +543 -0
  243. package/src/lv-LV.d.ts +49 -0
  244. package/src/lv-LV.js +595 -0
  245. package/src/mr-IN.d.ts +36 -0
  246. package/{lib/languages/mr.js → src/mr-IN.js} +116 -6
  247. package/src/ms-MY.d.ts +37 -0
  248. package/{lib/languages/ms.js → src/ms-MY.js} +111 -8
  249. package/src/nb-NO.d.ts +44 -0
  250. package/{lib/languages/nb.js → src/nb-NO.js} +153 -11
  251. package/src/nl-NL.d.ts +54 -0
  252. package/{lib/languages/nl.js → src/nl-NL.js} +260 -18
  253. package/src/pa-IN.d.ts +36 -0
  254. package/{lib/languages/pa.js → src/pa-IN.js} +116 -6
  255. package/src/pl-PL.d.ts +55 -0
  256. package/src/pl-PL.js +585 -0
  257. package/src/pt-BR.d.ts +31 -0
  258. package/src/pt-BR.js +534 -0
  259. package/src/pt-PT.d.ts +45 -0
  260. package/{lib/languages/pt.js → src/pt-PT.js} +234 -12
  261. package/src/ro-RO.d.ts +44 -0
  262. package/{lib/languages/ro.js → src/ro-RO.js} +212 -18
  263. package/src/ru-RU.d.ts +50 -0
  264. package/src/ru-RU.js +535 -0
  265. package/src/sr-Cyrl-RS.d.ts +49 -0
  266. package/src/sr-Cyrl-RS.js +503 -0
  267. package/src/sr-Latn-RS.d.ts +49 -0
  268. package/src/sr-Latn-RS.js +503 -0
  269. package/src/sv-SE.d.ts +44 -0
  270. package/{lib/languages/sv.js → src/sv-SE.js} +136 -11
  271. package/src/sw-KE.d.ts +37 -0
  272. package/{lib/languages/sw.js → src/sw-KE.js} +117 -6
  273. package/src/ta-IN.d.ts +35 -0
  274. package/{lib/languages/ta.js → src/ta-IN.js} +109 -6
  275. package/src/te-IN.d.ts +35 -0
  276. package/{lib/languages/te.js → src/te-IN.js} +115 -6
  277. package/src/th-TH.d.ts +38 -0
  278. package/{lib/languages/th.js → src/th-TH.js} +99 -6
  279. package/src/tr-TR.d.ts +48 -0
  280. package/{lib/languages/tr.js → src/tr-TR.js} +168 -23
  281. package/src/uk-UA.d.ts +42 -0
  282. package/src/uk-UA.js +463 -0
  283. package/src/ur-PK.d.ts +36 -0
  284. package/{lib/languages/ur.js → src/ur-PK.js} +116 -6
  285. package/src/utils/expand-scientific.d.ts +32 -0
  286. package/src/utils/expand-scientific.js +65 -0
  287. package/src/utils/parse-cardinal.d.ts +14 -0
  288. package/{lib/utils/parse-numeric.js → src/utils/parse-cardinal.js} +14 -44
  289. package/src/utils/parse-currency.d.ts +14 -0
  290. package/src/utils/parse-currency.js +91 -0
  291. package/src/utils/parse-ordinal.d.ts +10 -0
  292. package/src/utils/parse-ordinal.js +103 -0
  293. package/src/vi-VN.d.ts +48 -0
  294. package/{lib/languages/vi.js → src/vi-VN.js} +102 -11
  295. package/src/yo-NG.d.ts +37 -0
  296. package/{lib/languages/yo.js → src/yo-NG.js} +109 -9
  297. package/src/zh-Hans-CN.d.ts +48 -0
  298. package/{lib/languages/zh-Hans.js → src/zh-Hans-CN.js} +140 -8
  299. package/src/zh-Hant-TW.d.ts +50 -0
  300. package/{lib/languages/zh-Hant.js → src/zh-Hant-TW.js} +139 -8
  301. package/dist/languages/am-Latn.js +0 -3
  302. package/dist/languages/am-Latn.js.map +0 -1
  303. package/dist/languages/am.js +0 -3
  304. package/dist/languages/am.js.map +0 -1
  305. package/dist/languages/ar.js +0 -3
  306. package/dist/languages/ar.js.map +0 -1
  307. package/dist/languages/az.js +0 -3
  308. package/dist/languages/az.js.map +0 -1
  309. package/dist/languages/bn.js +0 -3
  310. package/dist/languages/bn.js.map +0 -1
  311. package/dist/languages/cs.js +0 -3
  312. package/dist/languages/cs.js.map +0 -1
  313. package/dist/languages/da.js +0 -3
  314. package/dist/languages/da.js.map +0 -1
  315. package/dist/languages/de.js +0 -3
  316. package/dist/languages/de.js.map +0 -1
  317. package/dist/languages/el.js +0 -3
  318. package/dist/languages/el.js.map +0 -1
  319. package/dist/languages/en.js +0 -3
  320. package/dist/languages/en.js.map +0 -1
  321. package/dist/languages/es.js +0 -3
  322. package/dist/languages/es.js.map +0 -1
  323. package/dist/languages/fa.js +0 -3
  324. package/dist/languages/fa.js.map +0 -1
  325. package/dist/languages/fi.js +0 -3
  326. package/dist/languages/fi.js.map +0 -1
  327. package/dist/languages/fil.js +0 -3
  328. package/dist/languages/fil.js.map +0 -1
  329. package/dist/languages/fr-BE.js +0 -3
  330. package/dist/languages/fr-BE.js.map +0 -1
  331. package/dist/languages/fr.js +0 -3
  332. package/dist/languages/fr.js.map +0 -1
  333. package/dist/languages/gu.js +0 -3
  334. package/dist/languages/gu.js.map +0 -1
  335. package/dist/languages/ha.js +0 -3
  336. package/dist/languages/ha.js.map +0 -1
  337. package/dist/languages/hbo.js +0 -3
  338. package/dist/languages/hbo.js.map +0 -1
  339. package/dist/languages/he.js +0 -3
  340. package/dist/languages/he.js.map +0 -1
  341. package/dist/languages/hi.js +0 -3
  342. package/dist/languages/hi.js.map +0 -1
  343. package/dist/languages/hr.js +0 -3
  344. package/dist/languages/hr.js.map +0 -1
  345. package/dist/languages/hu.js +0 -3
  346. package/dist/languages/hu.js.map +0 -1
  347. package/dist/languages/id.js +0 -3
  348. package/dist/languages/id.js.map +0 -1
  349. package/dist/languages/it.js +0 -3
  350. package/dist/languages/it.js.map +0 -1
  351. package/dist/languages/ja.js +0 -3
  352. package/dist/languages/ja.js.map +0 -1
  353. package/dist/languages/ka.js +0 -3
  354. package/dist/languages/ka.js.map +0 -1
  355. package/dist/languages/kn.js +0 -3
  356. package/dist/languages/kn.js.map +0 -1
  357. package/dist/languages/ko.js +0 -3
  358. package/dist/languages/ko.js.map +0 -1
  359. package/dist/languages/lt.js +0 -3
  360. package/dist/languages/lt.js.map +0 -1
  361. package/dist/languages/lv.js +0 -3
  362. package/dist/languages/lv.js.map +0 -1
  363. package/dist/languages/mr.js +0 -3
  364. package/dist/languages/mr.js.map +0 -1
  365. package/dist/languages/ms.js +0 -3
  366. package/dist/languages/ms.js.map +0 -1
  367. package/dist/languages/nb.js +0 -3
  368. package/dist/languages/nb.js.map +0 -1
  369. package/dist/languages/nl.js +0 -3
  370. package/dist/languages/nl.js.map +0 -1
  371. package/dist/languages/pa.js +0 -3
  372. package/dist/languages/pa.js.map +0 -1
  373. package/dist/languages/pl.js +0 -3
  374. package/dist/languages/pl.js.map +0 -1
  375. package/dist/languages/pt.js +0 -3
  376. package/dist/languages/pt.js.map +0 -1
  377. package/dist/languages/ro.js +0 -3
  378. package/dist/languages/ro.js.map +0 -1
  379. package/dist/languages/ru.js +0 -3
  380. package/dist/languages/ru.js.map +0 -1
  381. package/dist/languages/sr-Cyrl.js +0 -3
  382. package/dist/languages/sr-Cyrl.js.map +0 -1
  383. package/dist/languages/sr-Latn.js +0 -3
  384. package/dist/languages/sr-Latn.js.map +0 -1
  385. package/dist/languages/sv.js +0 -3
  386. package/dist/languages/sv.js.map +0 -1
  387. package/dist/languages/sw.js +0 -3
  388. package/dist/languages/sw.js.map +0 -1
  389. package/dist/languages/ta.js +0 -3
  390. package/dist/languages/ta.js.map +0 -1
  391. package/dist/languages/te.js +0 -3
  392. package/dist/languages/te.js.map +0 -1
  393. package/dist/languages/th.js +0 -3
  394. package/dist/languages/th.js.map +0 -1
  395. package/dist/languages/tr.js +0 -3
  396. package/dist/languages/tr.js.map +0 -1
  397. package/dist/languages/uk.js +0 -3
  398. package/dist/languages/uk.js.map +0 -1
  399. package/dist/languages/ur.js +0 -3
  400. package/dist/languages/ur.js.map +0 -1
  401. package/dist/languages/vi.js +0 -3
  402. package/dist/languages/vi.js.map +0 -1
  403. package/dist/languages/yo.js +0 -3
  404. package/dist/languages/yo.js.map +0 -1
  405. package/dist/languages/zh-Hans.js +0 -3
  406. package/dist/languages/zh-Hans.js.map +0 -1
  407. package/dist/languages/zh-Hant.js +0 -3
  408. package/dist/languages/zh-Hant.js.map +0 -1
  409. package/dist/n2words.js +0 -3
  410. package/dist/n2words.js.map +0 -1
  411. package/lib/languages/am-Latn.d.ts +0 -7
  412. package/lib/languages/am-Latn.js +0 -159
  413. package/lib/languages/am.d.ts +0 -7
  414. package/lib/languages/am.js +0 -159
  415. package/lib/languages/ar.d.ts +0 -17
  416. package/lib/languages/az.d.ts +0 -7
  417. package/lib/languages/az.js +0 -171
  418. package/lib/languages/bn.d.ts +0 -7
  419. package/lib/languages/cs.d.ts +0 -18
  420. package/lib/languages/da.d.ts +0 -14
  421. package/lib/languages/de.d.ts +0 -17
  422. package/lib/languages/de.js +0 -320
  423. package/lib/languages/el.d.ts +0 -14
  424. package/lib/languages/el.js +0 -236
  425. package/lib/languages/en.d.ts +0 -17
  426. package/lib/languages/es.d.ts +0 -21
  427. package/lib/languages/fa.d.ts +0 -7
  428. package/lib/languages/fa.js +0 -134
  429. package/lib/languages/fi.d.ts +0 -14
  430. package/lib/languages/fil.d.ts +0 -7
  431. package/lib/languages/fr-BE.d.ts +0 -11
  432. package/lib/languages/fr.d.ts +0 -21
  433. package/lib/languages/gu.d.ts +0 -7
  434. package/lib/languages/ha.d.ts +0 -7
  435. package/lib/languages/hbo.d.ts +0 -13
  436. package/lib/languages/he.d.ts +0 -13
  437. package/lib/languages/he.js +0 -265
  438. package/lib/languages/hi.d.ts +0 -7
  439. package/lib/languages/hr.d.ts +0 -11
  440. package/lib/languages/hr.js +0 -224
  441. package/lib/languages/hu.d.ts +0 -7
  442. package/lib/languages/id.d.ts +0 -7
  443. package/lib/languages/it.d.ts +0 -19
  444. package/lib/languages/ja.d.ts +0 -17
  445. package/lib/languages/ka.d.ts +0 -17
  446. package/lib/languages/kn.d.ts +0 -7
  447. package/lib/languages/ko.d.ts +0 -14
  448. package/lib/languages/lt.d.ts +0 -18
  449. package/lib/languages/lt.js +0 -301
  450. package/lib/languages/lv.d.ts +0 -18
  451. package/lib/languages/lv.js +0 -312
  452. package/lib/languages/mr.d.ts +0 -7
  453. package/lib/languages/ms.d.ts +0 -7
  454. package/lib/languages/nb.d.ts +0 -14
  455. package/lib/languages/nl.d.ts +0 -26
  456. package/lib/languages/pa.d.ts +0 -7
  457. package/lib/languages/pl.d.ts +0 -22
  458. package/lib/languages/pl.js +0 -317
  459. package/lib/languages/pt.d.ts +0 -17
  460. package/lib/languages/ro.d.ts +0 -18
  461. package/lib/languages/ru.d.ts +0 -11
  462. package/lib/languages/ru.js +0 -245
  463. package/lib/languages/sr-Cyrl.d.ts +0 -11
  464. package/lib/languages/sr-Cyrl.js +0 -221
  465. package/lib/languages/sr-Latn.d.ts +0 -11
  466. package/lib/languages/sr-Latn.js +0 -221
  467. package/lib/languages/sv.d.ts +0 -14
  468. package/lib/languages/sw.d.ts +0 -7
  469. package/lib/languages/ta.d.ts +0 -7
  470. package/lib/languages/te.d.ts +0 -7
  471. package/lib/languages/th.d.ts +0 -7
  472. package/lib/languages/tr.d.ts +0 -18
  473. package/lib/languages/uk.d.ts +0 -11
  474. package/lib/languages/uk.js +0 -224
  475. package/lib/languages/ur.d.ts +0 -7
  476. package/lib/languages/vi.d.ts +0 -17
  477. package/lib/languages/yo.d.ts +0 -7
  478. package/lib/languages/zh-Hans.d.ts +0 -11
  479. package/lib/languages/zh-Hant.d.ts +0 -11
  480. package/lib/n2words.d.ts +0 -55
  481. package/lib/n2words.js +0 -126
  482. package/lib/utils/parse-numeric.d.ts +0 -17
  483. /package/{lib → src}/utils/is-plain-object.d.ts +0 -0
  484. /package/{lib → src}/utils/is-plain-object.js +0 -0
  485. /package/{lib → src}/utils/validate-options.d.ts +0 -0
  486. /package/{lib → src}/utils/validate-options.js +0 -0
@@ -0,0 +1,2 @@
1
+ /*! n2words/fa-IR v5.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={1:"یک",2:"دو",3:"سه",4:"چهار",5:"پنج",6:"شش",7:"هفت",8:"هشت",9:"نه"},u={10:"ده",11:"یازده",12:"دوازده",13:"سیزده",14:"چهارده",15:"پانزده",16:"شانزده",17:"هفده",18:"هجده",19:"نوزده"},a={20:"بیست",30:"سی",40:"چهل",50:"پنجاه",60:"شصت",70:"هفتاد",80:"هشتاد",90:"نود"},c={100:"صد",200:"دویست",300:"سيصد",400:"چهار صد",500:"پانصد",600:"ششصد",700:"هفتصد",800:"هشتصد",900:"نهصد"},f="منفى",g={1:"اول",2:"دوم",3:"سوم",4:"چهارم",5:"پنجم",6:"ششم",7:"هفتم",8:"هشتم",9:"نهم"};function l(e){if(0n===e)return"صفر";if(e<=9n)return o[Number(e)];if(e<=19n)return u[Number(e)];if(e<100n){const n=e%10n,r=e-n;return 0n===n?a[Number(r)]:`${a[Number(r)]} و ${o[Number(n)]}`}if(e<1000n){const n=e/100n*100n,r=e-n;return 0n===r?c[Number(n)]:`${c[Number(n)]} و ${l(r)}`}if(e<1000000n){const n=e/1000n,r=e%1000n;return`${1n===n?"":l(n)+" "}هزار${0n===r?"":" "+l(r)}`}if(e<1000000000n){const n=e%1000000n;return`${l(e/1000000n)+" میلیون"}${0n===n?"":" و "+l(n)}`}const n=e%1000000000n;return`${l(e/1000000000n)+" میلیارد"}${0n===n?"":" و "+l(n)}`}const d={faIR: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<=9n?g[Number(i)]:l(i)+"م";var i}};e.currency={faIR:function(e){const{isNegative:n,dollars:t}=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 i="";return n&&(i=f+" "),i+=l(t),i+=" ریال",i}},e.faIR=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(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 a="";return s&&(a=f+" "),a+=l(o),u&&(a+=" ممیّز "+function(e){let n="",r=0;for(;r<e.length&&"0"===e[r];)n&&(n+=" "),n+="صفر",r++;const t=e.slice(r);return t&&(n&&(n+=" "),n+=l(BigInt(t))),n}(u)),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||{});
package/dist/fi-FI.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/fi-FI v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),a=(-1===s?n.length:s)+i;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 n(n){const i=n.toString();return t(i)?e(i):i}function t(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function r(n){let i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${n}"`);t(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)}}const s=["","yksi","kaksi","kolme","neljä","viisi","kuusi","seitsemän","kahdeksan","yhdeksän"],o=["kymmenen","yksitoista","kaksitoista","kolmetoista","neljätoista","viisitoista","kuusitoista","seitsemäntoista","kahdeksantoista","yhdeksäntoista"],a=["","","kaksikymmentä","kolmekymmentä","neljäkymmentä","viisikymmentä","kuusikymmentä","seitsemänkymmentä","kahdeksankymmentä","yhdeksänkymmentä"],u="sata",m="tuhat",l="nolla",c="miinus",g=["miljoona","miljardi","biljoona","triljoona"],f=["","ensimmäinen","toinen","kolmas","neljäs","viides","kuudes","seitsemäs","kahdeksas","yhdeksäs"],d=["kymmenes","yhdestoista","kahdestoista","kolmastoista","neljästoista","viidestoista","kuudestoista","seitsemästoista","kahdeksastoista","yhdeksästoista"],k=["","","kahdeskymmenes","kolmaskymmenes","neljäskymmenes","viideskymmenes","kuudeskymmenes","seitsemäskymmenes","kahdeksaskymmenes","yhdeksäskymmenes"];function h(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];i>0&&r.push(1===i?u:s[i]+" "+u);const m=e%100;return 0===m||r.push(m<10?s[n]:m<20?o[n]:0===n?a[t]:a[t]+s[n]),r.join(" ")}function b(e){if(0n===e)return l;if(e<1000n)return h(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let i;return i=1===n?m:h(n)+" "+m,t>0&&(i+=" "+h(t)),i}return function(e){const n=e.toString(),t=n.length,i=[],r=t%3;let s=0;for(r>0&&(i.push(Number(n.slice(0,r))),s=r);s<t;)i.push(Number(n.slice(s,s+3))),s+=3;const o=[];let a=i.length-1;for(let e=0;e<i.length;e++){const n=i[e];if(0!==n){const e=h(n);o.push(0===a?e:1===a?1===n?m:e+" "+m:e+" "+g[a-2])}a--}return o.join(" ")}(e)}function w(r){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)}:i(n(r))}if("string"===s)return i(function(n){const i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${n}"`);return t(i)?e(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r);let m="";return o&&(m=c+" "),m+=b(a),u&&(m+=" pilkku "+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?l:s[e])}return n.join(" ")}(u)),m}function y(n){return i=function(n){const i=typeof n;if("bigint"===i){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===i){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"===i)return function(n){const i=n.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(t(i)){const n=e(i);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(i);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 ${i}`)}(n),1n===i?"ensimmäinen":2n===i?"toinen":i<100n?function(e){if(0===e)return"";if(e<10)return f[e];if(e<20)return d[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?k[t]:a[t]+f[n]}(Number(i)):b(i)+"s";var i}function v(e){const{isNegative:t,dollars:i,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}:r(n(e))}if("string"===t)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let o="";return t&&(o=c+" "),(i>0n||0n===s)&&(o+=b(i),o+=" "+(1n===i?"euro":"euroa")),s>0n&&(i>0n&&(o+=" "),o+=b(s),o+=" "+(1n===s?"sentti":"senttiä")),o}export{w as toCardinal,v as toCurrency,y as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/fi-FI v5.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 i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),a=(-1===s?n.length:s)+i;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 t(e){const t=e.toString();return i(t)?n(t):t}function i(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",a=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}const o=["","yksi","kaksi","kolme","neljä","viisi","kuusi","seitsemän","kahdeksan","yhdeksän"],a=["kymmenen","yksitoista","kaksitoista","kolmetoista","neljätoista","viisitoista","kuusitoista","seitsemäntoista","kahdeksantoista","yhdeksäntoista"],u=["","","kaksikymmentä","kolmekymmentä","neljäkymmentä","viisikymmentä","kuusikymmentä","seitsemänkymmentä","kahdeksankymmentä","yhdeksänkymmentä"],m="sata",l="tuhat",c="nolla",f="miinus",g=["miljoona","miljardi","biljoona","triljoona"],d=["","ensimmäinen","toinen","kolmas","neljäs","viides","kuudes","seitsemäs","kahdeksas","yhdeksäs"],h=["kymmenes","yhdestoista","kahdestoista","kolmastoista","neljästoista","viidestoista","kuudestoista","seitsemästoista","kahdeksastoista","yhdeksästoista"],k=["","","kahdeskymmenes","kolmaskymmenes","neljäskymmenes","viideskymmenes","kuudeskymmenes","seitsemäskymmenes","kahdeksaskymmenes","yhdeksäskymmenes"];function b(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];i>0&&r.push(1===i?m:o[i]+" "+m);const s=e%100;return 0===s||r.push(s<10?o[n]:s<20?a[n]:0===n?u[t]:u[t]+o[n]),r.join(" ")}function y(e){if(0n===e)return c;if(e<1000n)return b(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let i;return i=1===n?l:b(n)+" "+l,t>0&&(i+=" "+b(t)),i}return function(e){const n=e.toString(),t=n.length,i=[],r=t%3;let s=0;for(r>0&&(i.push(Number(n.slice(0,r))),s=r);s<t;)i.push(Number(n.slice(s,s+3))),s+=3;const o=[];let a=i.length-1;for(let e=0;e<i.length;e++){const n=i[e];if(0!==n){const e=b(n);o.push(0===a?e:1===a?1===n?l:e+" "+l:e+" "+g[a-2])}a--}return o.join(" ")}(e)}const w={fiFI:function(e){return 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(i(t)){const e=n(t);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 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),1n===t?"ensimmäinen":2n===t?"toinen":t<100n?function(e){if(0===e)return"";if(e<10)return d[e];if(e<20)return h[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?k[t]:u[t]+d[n]}(Number(t)):y(t)+"s";var t}};e.currency={fiFI:function(e){const{isNegative:n,dollars:i,cents:r}=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=f+" "),(i>0n||0n===r)&&(o+=y(i),o+=" "+(1n===i?"euro":"euroa")),r>0n&&(i>0n&&(o+=" "),o+=y(r),o+=" "+(1n===r?"sentti":"senttiä")),o}},e.fiFI=function(e){const{isNegative:s,integerPart:a,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)}:r(t(e))}if("string"===s)return r(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let m="";return s&&(m=f+" "),m+=y(a),u&&(m+=" pilkku "+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?c:o[e])}return n.join(" ")}(u)),m},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/fil-PH.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/fil-PH v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function n(n){let[e,t]=n.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),a=-1===s?e:e.slice(0,s)+e.slice(s+1),o=(-1===s?e.length:s)+i;return o>=a.length?r+a+"0".repeat(o-a.length):o<=0?r+"0."+"0".repeat(-o)+a:r+a.slice(0,o)+"."+a.slice(o)}function e(e){const i=e.toString();return t(i)?n(i):i}function t(n){return n.includes("e")||n.includes("E")}function i(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const i=n.slice(0,t)||"0",r=n.slice(t+1);return{isNegative:e,integerPart:BigInt(i),decimalPart:r}}function r(e){let i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${e}"`);t(i)&&(i=n(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 a=i.slice(0,s)||"0",o=(i.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(a),cents:BigInt(o)}}const s=["","isa","dalawa","tatlo","apat","lima","anim","pito","walo","siyam"],a=["sampu","labinisa","labindalawa","labintatlo","labinapat","labinlima","labinanum","labimpito","labingwalo","labinsiyam"],o=["","","dalawampu","tatlumpu","apatnapu","limampu","animnapu","pitumpu","walumpu","siyamnapu"],u="zero",l="negatibo",c=["","libong","milyong","bilyong","trilyong"],g="piso",f="sentimo",m=["a","e","i","o","u"];function b(n){return m.includes(n[n.length-1])?n+"ng":n+" na"}function d(n){if(0===n)return"";const e=n%10,t=Math.trunc(n/10)%10,i=Math.trunc(n/100),r=[];if(i>0){const n=b(s[i]);r.push(n+" daang")}const u=n%100;return 0===u||r.push(u<10?s[e]:u<20?a[e]:0===e?o[t]:5===t?o[t]+"ng "+s[e]:o[t]+" "+s[e]),r.join(" ")}function w(n){const e=d(n);if(!e)return"";const t=e.lastIndexOf(" ");if(-1===t)return"g"===e[e.length-1]&&e.endsWith("ng")?e:b(e);const i=e.slice(0,t+1),r=e.slice(t+1);return r.endsWith("ng")?e:i+b(r)}function p(n){return 0n===n?u:n<1000n?d(Number(n)):function(n){const e=[];let t=n;for(;t>0n;)e.push(Number(t%1000n)),t/=1000n;let i="";for(let n=e.length-1;n>=0;n--){const t=e[n];if(0===t)continue;const r=c[n]||"";i&&(i+=" "),i+=0===n?d(t):w(t)+" "+r}return i}(n)}function h(r){const{isNegative:a,integerPart:o,decimalPart:c}=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)}:i(e(r))}if("string"===s)return i(function(e){const i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${e}"`);return t(i)?n(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r);let g="";return a&&(g=l+" "),g+=p(o),c&&(g+=" punto "+function(n){const e=[];for(const t of n){const n=parseInt(t,10);e.push(0===n?u:s[n])}return e.join(" ")}(c)),g}function N(e){const i=function(e){const i=typeof e;if("bigint"===i){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===i){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"===i)return function(e){const i=e.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(t(i)){const e=n(i);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 n=BigInt(i);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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 ${i}`)}(e);return 1n===(r=i)?"una":2n===r?"ikalawa":"ika-"+p(r);var r}function v(n){const{isNegative:t,dollars:i,cents:s}=function(n){const t=typeof n;if("bigint"===t)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===t){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:r(e(n))}if("string"===t)return r(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);let a="";if(t&&(a=l+" "),i>0n||0n===s){const n=p(i);if(0n===i)a+=n+" "+g;else{const e=n.lastIndexOf(" ");if(-1===e)a+=b(n)+" "+g;else{const t=n.slice(0,e+1),i=n.slice(e+1);i.endsWith("ng")?a+=n+" "+g:a+=t+b(i)+" "+g}}}if(s>0n){i>0n&&(a+=" at ");const n=p(s),e=n.lastIndexOf(" ");if(-1===e)a+=b(n)+" "+f;else{const t=n.slice(0,e+1),i=n.slice(e+1);i.endsWith("ng")?a+=n+" "+f:a+=t+b(i)+" "+f}}return a}export{h as toCardinal,v as toCurrency,N as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/fil-PH v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ var n,e;n=this,e=function(n){"use strict";function e(n){let[e,t]=n.toLowerCase().split("e");const i=parseInt(t,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)+i;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 t(n){const t=n.toString();return i(t)?e(t):t}function i(n){return n.includes("e")||n.includes("E")}function r(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const i=n.slice(0,t)||"0",r=n.slice(t+1);return{isNegative:e,integerPart:BigInt(i),decimalPart:r}}function s(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);i(t)&&(t=e(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",a=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}const o=["","isa","dalawa","tatlo","apat","lima","anim","pito","walo","siyam"],a=["sampu","labinisa","labindalawa","labintatlo","labinapat","labinlima","labinanum","labimpito","labingwalo","labinsiyam"],u=["","","dalawampu","tatlumpu","apatnapu","limampu","animnapu","pitumpu","walumpu","siyamnapu"],l="zero",c="negatibo",g=["","libong","milyong","bilyong","trilyong"],f="piso",d="sentimo",m=["a","e","i","o","u"];function b(n){return m.includes(n[n.length-1])?n+"ng":n+" na"}function p(n){if(0===n)return"";const e=n%10,t=Math.trunc(n/10)%10,i=Math.trunc(n/100),r=[];if(i>0){const n=b(o[i]);r.push(n+" daang")}const s=n%100;return 0===s||r.push(s<10?o[e]:s<20?a[e]:0===e?u[t]:5===t?u[t]+"ng "+o[e]:u[t]+" "+o[e]),r.join(" ")}function w(n){const e=p(n);if(!e)return"";const t=e.lastIndexOf(" ");if(-1===t)return"g"===e[e.length-1]&&e.endsWith("ng")?e:b(e);const i=e.slice(0,t+1),r=e.slice(t+1);return r.endsWith("ng")?e:i+b(r)}function h(n){return 0n===n?l:n<1000n?p(Number(n)):function(n){const e=[];let t=n;for(;t>0n;)e.push(Number(t%1000n)),t/=1000n;let i="";for(let n=e.length-1;n>=0;n--){const t=e[n];if(0===t)continue;const r=g[n]||"";i&&(i+=" "),i+=0===n?p(t):w(t)+" "+r}return i}(n)}const v={filPH:function(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(i(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(n);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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 1n===(r=t)?"una":2n===r?"ikalawa":"ika-"+h(r);var r}};n.currency={filPH:function(n){const{isNegative:e,dollars:i,cents:r}=function(n){const e=typeof n;if("bigint"===e)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===e){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:s(t(n))}if("string"===e)return s(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(n);let o="";if(e&&(o=c+" "),i>0n||0n===r){const n=h(i);if(0n===i)o+=n+" "+f;else{const e=n.lastIndexOf(" ");if(-1===e)o+=b(n)+" "+f;else{const t=n.slice(0,e+1),i=n.slice(e+1);i.endsWith("ng")?o+=n+" "+f:o+=t+b(i)+" "+f}}}if(r>0n){i>0n&&(o+=" at ");const n=h(r),e=n.lastIndexOf(" ");if(-1===e)o+=b(n)+" "+d;else{const t=n.slice(0,e+1),i=n.slice(e+1);i.endsWith("ng")?o+=n+" "+d:o+=t+b(i)+" "+d}}return o}},n.filPH=function(n){const{isNegative:s,integerPart:a,decimalPart:u}=function(n){const s=typeof n;if("bigint"===s)return n<0n?{isNegative:!0,integerPart:-n}:{isNegative:!1,integerPart:n};if("number"===s){if(!Number.isFinite(n))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(n)?n<0?{isNegative:!0,integerPart:BigInt(-n)}:{isNegative:!1,integerPart:BigInt(n)}:r(t(n))}if("string"===s)return r(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return i(t)?e(t):t}(n));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(n);let g="";return s&&(g=c+" "),g+=h(a),u&&(g+=" punto "+function(n){const e=[];for(const t of n){const n=parseInt(t,10);e.push(0===n?l:o[n])}return e.join(" ")}(u)),g},n.ordinal=v},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n2words=n.n2words||{});
package/dist/fr-BE.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/fr-BE v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",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)+i;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 n(n){const i=n.toString();return t(i)?e(i):i}function t(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function r(n){let i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${n}"`);t(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 s(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 o=["","un","deux","trois","quatre","cinq","six","sept","huit","neuf"],u=["dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"],l=["","","vingt","trente","quarante","cinquante","soixante","septante","quatre-vingt","nonante"],a=["million","billion","trillion","quadrillion"],c=["milliard","billiard","trilliard","quadrilliard"],g="mille",f="cent",d="zéro",h="moins",p="ième";function m(e){if(0===e)return{word:"",endsWithCents:!1,endsWithVingts:!1};const n=e%100,t=Math.trunc(e/100),i=[];let r=!1,s=!1;if(t>0&&(1===t?i.push(f):0===n?(i.push(o[t]+" "+f+"s"),r=!0):i.push(o[t]+" "+f)),0===n);else if(n<10)i.push(o[n]);else if(n<17)i.push(u[n-10]);else if(n<20)i.push(u[n-10]);else if(n<70){const e=Math.trunc(n/10),t=n%10;i.push(0===t?l[e]:1===t?l[e]+" et "+o[1]:l[e]+"-"+o[t])}else if(n<80){const e=n%10;i.push(0===e?"septante":1===e?"septante et "+o[1]:"septante-"+o[e])}else if(80===n)i.push("quatre-vingts"),s=!0;else if(n<90)i.push("quatre-vingt-"+o[n-80]);else{const e=n%10;i.push(0===e?"nonante":1===e?"nonante et "+o[1]:"nonante-"+o[e])}return{word:i.join(" "),endsWithCents:r,endsWithVingts:s}}function b(e,n){if(1===e)return g;if(e%2==0){const t=a[e/2-1];return t?n>1n?t+"s":t:""}{const t=c[(e-1)/2-1];return t?n>1n?t+"s":t:g}}function w(e,n=!1){if(0n===e)return d;if(e<1000n){const{word:t}=m(Number(e));return n?t.replace(/ /g,"-"):t}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);let r;if(1===t)r=g;else{const{word:e,endsWithCents:i,endsWithVingts:s}=m(t);let o=e;(i||s)&&(o=e.slice(0,-1)),r=o+(n?"-":" ")+g}if(i>0){const{word:e}=m(i);r+=(n?"-":" ")+e}return n&&(r=r.replace(/ /g,"-")),r}return function(e,n){const t=e.toString(),i=t.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(t.slice(0,s))),o=s);o<i;)r.push(Number(t.slice(o,o+3))),o+=3;const u=[];let l=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=l>0?b(l,BigInt(n)):"",{word:t,endsWithCents:i,endsWithVingts:r}=m(n);if(0===l)u.push(t);else if(1===l)if(1===n)u.push(g);else{let n=t;(i||r)&&(n=t.slice(0,-1)),u.push(n),u.push(e)}else u.push(t),u.push(e)}l--}let a=u.join(n?"-":" ");return n&&(a=a.replace(/ /g,"-")),a}(e,n)}function v(r,o){o=s(o);const{isNegative:u,integerPart:l,decimalPart:a}=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)}:i(n(r))}if("string"===s)return i(function(n){const i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${n}"`);return t(i)?e(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{withHyphenSeparator:c=!1}=o;let g="";const f=c?"-":" ";return u&&(g=h+f),g+=w(l,c),a&&(g+=f+"virgule"+f+function(e,n){let t="";const i=n?"-":" ";let r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=i),t+=d,r++;const s=e.slice(r);return s&&(t&&(t+=i),t+=w(BigInt(s),n)),t}(a,c)),g}function N(n){return i=function(n){const i=typeof n;if("bigint"===i){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===i){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"===i)return function(n){const i=n.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(t(i)){const n=e(i);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(i);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 ${i}`)}(n),1n===i?"premier":(r=w(i,!1)).endsWith("cinq")?r+"u"+p:r.endsWith("neuf")?r.slice(0,-1)+"v"+p:r.endsWith("cents")||r.endsWith("vingts")||r.endsWith("millions")||r.endsWith("milliards")||r.endsWith("billions")||r.endsWith("billiards")||r.endsWith("trillions")||r.endsWith("trilliards")||r.endsWith("quadrillions")||r.endsWith("quadrilliards")||r.endsWith("e")?r.slice(0,-1)+p:r+p;var i,r}function I(e,t){t=s(t);const{isNegative:i,dollars:o,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}:r(n(e))}if("string"===t)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:l=!0}=t;let a="";return i&&(a=h+" "),(o>0n||0n===u)&&(a+=w(o,!1),a+=" "+(o<=1n?"euro":"euros")),u>0n&&(o>0n&&(a+=l?" et ":" "),a+=w(u,!1),a+=" "+(1n===u?"centime":"centimes")),a}export{v as toCardinal,I as toCurrency,N as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/fr-BE v5.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 i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",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)+i;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 t(e){const t=e.toString();return i(t)?n(t):t}function i(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),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 u=["","un","deux","trois","quatre","cinq","six","sept","huit","neuf"],l=["dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"],a=["","","vingt","trente","quarante","cinquante","soixante","septante","quatre-vingt","nonante"],c=["million","billion","trillion","quadrillion"],f=["milliard","billiard","trilliard","quadrilliard"],d="mille",g="cent",h="zéro",p="moins",m="ième";function b(e){if(0===e)return{word:"",endsWithCents:!1,endsWithVingts:!1};const n=e%100,t=Math.trunc(e/100),i=[];let r=!1,s=!1;if(t>0&&(1===t?i.push(g):0===n?(i.push(u[t]+" "+g+"s"),r=!0):i.push(u[t]+" "+g)),0===n);else if(n<10)i.push(u[n]);else if(n<17)i.push(l[n-10]);else if(n<20)i.push(l[n-10]);else if(n<70){const e=Math.trunc(n/10),t=n%10;i.push(0===t?a[e]:1===t?a[e]+" et "+u[1]:a[e]+"-"+u[t])}else if(n<80){const e=n%10;i.push(0===e?"septante":1===e?"septante et "+u[1]:"septante-"+u[e])}else if(80===n)i.push("quatre-vingts"),s=!0;else if(n<90)i.push("quatre-vingt-"+u[n-80]);else{const e=n%10;i.push(0===e?"nonante":1===e?"nonante et "+u[1]:"nonante-"+u[e])}return{word:i.join(" "),endsWithCents:r,endsWithVingts:s}}function w(e,n){if(1===e)return d;if(e%2==0){const t=c[e/2-1];return t?n>1n?t+"s":t:""}{const t=f[(e-1)/2-1];return t?n>1n?t+"s":t:d}}function v(e,n=!1){if(0n===e)return h;if(e<1000n){const{word:t}=b(Number(e));return n?t.replace(/ /g,"-"):t}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);let r;if(1===t)r=d;else{const{word:e,endsWithCents:i,endsWithVingts:s}=b(t);let o=e;(i||s)&&(o=e.slice(0,-1)),r=o+(n?"-":" ")+d}if(i>0){const{word:e}=b(i);r+=(n?"-":" ")+e}return n&&(r=r.replace(/ /g,"-")),r}return function(e,n){const t=e.toString(),i=t.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(t.slice(0,s))),o=s);o<i;)r.push(Number(t.slice(o,o+3))),o+=3;const u=[];let l=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=l>0?w(l,BigInt(n)):"",{word:t,endsWithCents:i,endsWithVingts:r}=b(n);if(0===l)u.push(t);else if(1===l)if(1===n)u.push(d);else{let n=t;(i||r)&&(n=t.slice(0,-1)),u.push(n),u.push(e)}else u.push(t),u.push(e)}l--}let a=u.join(n?"-":" ");return n&&(a=a.replace(/ /g,"-")),a}(e,n)}const N={frBE:function(e){return 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(i(t)){const e=n(t);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 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),1n===t?"premier":(r=v(t,!1)).endsWith("cinq")?r+"u"+m:r.endsWith("neuf")?r.slice(0,-1)+"v"+m:r.endsWith("cents")||r.endsWith("vingts")||r.endsWith("millions")||r.endsWith("milliards")||r.endsWith("billions")||r.endsWith("billiards")||r.endsWith("trillions")||r.endsWith("trilliards")||r.endsWith("quadrillions")||r.endsWith("quadrilliards")||r.endsWith("e")?r.slice(0,-1)+m:r+m;var t,r}};e.currency={frBE:function(e,n){n=o(n);const{isNegative:i,dollars:r,cents:u}=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),{and:l=!0}=n;let a="";return i&&(a=p+" "),(r>0n||0n===u)&&(a+=v(r,!1),a+=" "+(r<=1n?"euro":"euros")),u>0n&&(r>0n&&(a+=l?" et ":" "),a+=v(u,!1),a+=" "+(1n===u?"centime":"centimes")),a}},e.frBE=function(e,s){s=o(s);const{isNegative:u,integerPart:l,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)}:r(t(e))}if("string"===s)return r(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e),{withHyphenSeparator:c=!1}=s;let f="";const d=c?"-":" ";return u&&(f=p+d),f+=v(l,c),a&&(f+=d+"virgule"+d+function(e,n){let t="";const i=n?"-":" ";let r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=i),t+=h,r++;const s=e.slice(r);return s&&(t&&(t+=i),t+=v(BigInt(s),n)),t}(a,c)),f},e.ordinal=N},"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/fr-FR.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/fr-FR v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",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)+i;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 n(n){const i=n.toString();return t(i)?e(i):i}function t(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function r(n){let i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${n}"`);t(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 s(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 o=["","un","deux","trois","quatre","cinq","six","sept","huit","neuf"],u=["dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"],l=["","","vingt","trente","quarante","cinquante","soixante"],a=["million","billion","trillion","quadrillion"],c=["milliard","billiard","trilliard","quadrilliard"],g="mille",f="cent",d="zéro",h="moins",p="ième";function m(e){if(0===e)return{word:"",endsWithCents:!1,endsWithVingts:!1};const n=e%100,t=Math.trunc(e/100),i=[];let r=!1,s=!1;if(t>0&&(1===t?i.push(f):0===n?(i.push(o[t]+" "+f+"s"),r=!0):i.push(o[t]+" "+f)),0===n);else if(n<10)i.push(o[n]);else if(n<17)i.push(u[n-10]);else if(n<20)i.push(u[n-10]);else if(n<70){const e=Math.trunc(n/10),t=n%10;i.push(0===t?l[e]:1===t?l[e]+" et "+o[1]:l[e]+"-"+o[t])}else if(n<80){const e=n-60;i.push(11===e?"soixante et onze":"soixante-"+u[e-10])}else if(80===n)i.push("quatre-vingts"),s=!0;else if(n<100){const e=n-80;i.push(e<10?"quatre-vingt-"+o[e]:"quatre-vingt-"+u[e-10])}return{word:i.join(" "),endsWithCents:r,endsWithVingts:s}}function b(e,n){if(1===e)return g;if(e%2==0){const t=a[e/2-1];return t?n>1n?t+"s":t:""}{const t=c[(e-1)/2-1];return t?n>1n?t+"s":t:g}}function w(e,n=!1){if(0n===e)return d;if(e<1000n){const{word:t}=m(Number(e));return n?t.replace(/ /g,"-"):t}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);let r;if(1===t)r=g;else{const{word:e,endsWithCents:i,endsWithVingts:s}=m(t);let o=e;(i||s)&&(o=e.slice(0,-1)),r=o+(n?"-":" ")+g}if(i>0){const{word:e}=m(i);r+=(n?"-":" ")+e}return n&&(r=r.replace(/ /g,"-")),r}return function(e,n){const t=e.toString(),i=t.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(t.slice(0,s))),o=s);o<i;)r.push(Number(t.slice(o,o+3))),o+=3;const u=[];let l=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=l>0?b(l,BigInt(n)):"",{word:t,endsWithCents:i,endsWithVingts:r}=m(n);if(0===l)u.push(t);else if(1===l)if(1===n)u.push(g);else{let n=t;(i||r)&&(n=t.slice(0,-1)),u.push(n),u.push(e)}else u.push(t),u.push(e)}l--}let a=u.join(n?"-":" ");return n&&(a=a.replace(/ /g,"-")),a}(e,n)}function v(r,o){o=s(o);const{isNegative:u,integerPart:l,decimalPart:a}=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)}:i(n(r))}if("string"===s)return i(function(n){const i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${n}"`);return t(i)?e(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{withHyphenSeparator:c=!1}=o;let g="";const f=c?"-":" ";return u&&(g=h+f),g+=w(l,c),a&&(g+=f+"virgule"+f+function(e,n){let t="";const i=n?"-":" ";let r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=i),t+=d,r++;const s=e.slice(r);return s&&(t&&(t+=i),t+=w(BigInt(s),n)),t}(a,c)),g}function N(n){return i=function(n){const i=typeof n;if("bigint"===i){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===i){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"===i)return function(n){const i=n.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(t(i)){const n=e(i);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(i);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 ${i}`)}(n),1n===i?"premier":(r=w(i,!1)).endsWith("cinq")?r+"u"+p:r.endsWith("neuf")?r.slice(0,-1)+"v"+p:r.endsWith("cents")||r.endsWith("vingts")||r.endsWith("millions")||r.endsWith("milliards")||r.endsWith("billions")||r.endsWith("billiards")||r.endsWith("trillions")||r.endsWith("trilliards")||r.endsWith("quadrillions")||r.endsWith("quadrilliards")||r.endsWith("e")?r.slice(0,-1)+p:r+p;var i,r}function I(e,t){t=s(t);const{isNegative:i,dollars:o,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}:r(n(e))}if("string"===t)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:l=!0}=t;let a="";return i&&(a=h+" "),(o>0n||0n===u)&&(a+=w(o,!1),a+=" "+(o<=1n?"euro":"euros")),u>0n&&(o>0n&&(a+=l?" et ":" "),a+=w(u,!1),a+=" "+(1n===u?"centime":"centimes")),a}export{v as toCardinal,I as toCurrency,N as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/fr-FR v5.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 i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",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)+i;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 t(e){const t=e.toString();return i(t)?n(t):t}function i(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 i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),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 u=["","un","deux","trois","quatre","cinq","six","sept","huit","neuf"],l=["dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"],c=["","","vingt","trente","quarante","cinquante","soixante"],a=["million","billion","trillion","quadrillion"],f=["milliard","billiard","trilliard","quadrilliard"],d="mille",g="cent",h="zéro",p="moins",m="ième";function b(e){if(0===e)return{word:"",endsWithCents:!1,endsWithVingts:!1};const n=e%100,t=Math.trunc(e/100),i=[];let r=!1,s=!1;if(t>0&&(1===t?i.push(g):0===n?(i.push(u[t]+" "+g+"s"),r=!0):i.push(u[t]+" "+g)),0===n);else if(n<10)i.push(u[n]);else if(n<17)i.push(l[n-10]);else if(n<20)i.push(l[n-10]);else if(n<70){const e=Math.trunc(n/10),t=n%10;i.push(0===t?c[e]:1===t?c[e]+" et "+u[1]:c[e]+"-"+u[t])}else if(n<80){const e=n-60;i.push(11===e?"soixante et onze":"soixante-"+l[e-10])}else if(80===n)i.push("quatre-vingts"),s=!0;else if(n<100){const e=n-80;i.push(e<10?"quatre-vingt-"+u[e]:"quatre-vingt-"+l[e-10])}return{word:i.join(" "),endsWithCents:r,endsWithVingts:s}}function w(e,n){if(1===e)return d;if(e%2==0){const t=a[e/2-1];return t?n>1n?t+"s":t:""}{const t=f[(e-1)/2-1];return t?n>1n?t+"s":t:d}}function v(e,n=!1){if(0n===e)return h;if(e<1000n){const{word:t}=b(Number(e));return n?t.replace(/ /g,"-"):t}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);let r;if(1===t)r=d;else{const{word:e,endsWithCents:i,endsWithVingts:s}=b(t);let o=e;(i||s)&&(o=e.slice(0,-1)),r=o+(n?"-":" ")+d}if(i>0){const{word:e}=b(i);r+=(n?"-":" ")+e}return n&&(r=r.replace(/ /g,"-")),r}return function(e,n){const t=e.toString(),i=t.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(t.slice(0,s))),o=s);o<i;)r.push(Number(t.slice(o,o+3))),o+=3;const u=[];let l=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=l>0?w(l,BigInt(n)):"",{word:t,endsWithCents:i,endsWithVingts:r}=b(n);if(0===l)u.push(t);else if(1===l)if(1===n)u.push(d);else{let n=t;(i||r)&&(n=t.slice(0,-1)),u.push(n),u.push(e)}else u.push(t),u.push(e)}l--}let c=u.join(n?"-":" ");return n&&(c=c.replace(/ /g,"-")),c}(e,n)}const N={frFR:function(e){return 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(i(t)){const e=n(t);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 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),1n===t?"premier":(r=v(t,!1)).endsWith("cinq")?r+"u"+m:r.endsWith("neuf")?r.slice(0,-1)+"v"+m:r.endsWith("cents")||r.endsWith("vingts")||r.endsWith("millions")||r.endsWith("milliards")||r.endsWith("billions")||r.endsWith("billiards")||r.endsWith("trillions")||r.endsWith("trilliards")||r.endsWith("quadrillions")||r.endsWith("quadrilliards")||r.endsWith("e")?r.slice(0,-1)+m:r+m;var t,r}};e.currency={frFR:function(e,n){n=o(n);const{isNegative:i,dollars:r,cents:u}=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),{and:l=!0}=n;let c="";return i&&(c=p+" "),(r>0n||0n===u)&&(c+=v(r,!1),c+=" "+(r<=1n?"euro":"euros")),u>0n&&(r>0n&&(c+=l?" et ":" "),c+=v(u,!1),c+=" "+(1n===u?"centime":"centimes")),c}},e.frFR=function(e,s){s=o(s);const{isNegative:u,integerPart:l,decimalPart:c}=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)}:r(t(e))}if("string"===s)return r(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e),{withHyphenSeparator:a=!1}=s;let f="";const d=a?"-":" ";return u&&(f=p+d),f+=v(l,a),c&&(f+=d+"virgule"+d+function(e,n){let t="";const i=n?"-":" ";let r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=i),t+=h,r++;const s=e.slice(r);return s&&(t&&(t+=i),t+=v(BigInt(s),n)),t}(c,a)),f},e.ordinal=N},"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/gu-IN.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/gu-IN v5.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=["","હજાર","લાખ","કરોડ","અબજ","ખરબ","નીલ","પદ્મ","શંખ"];function c(e){if(0===e)return"";if(e<100)return u[e];const n=Math.trunc(e/100),r=e%100;return 0===r?u[n]+" સો":u[n]+" સો "+u[r]}function g(e){if(0n===e)return s;if(e<1000n)return c(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?c(r):u[r]),e>0&&a[e]&&t.push(a[e]))}return t.join(" ")}function l(i){const{isNegative:o,integerPart:a,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 l="";return o&&(l="ઋણ "),l+=g(a),c&&(l+=" દશાંશ "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?s:u[e])}return n.join(" ")}(c)),l}function f(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?o[Number(i)]:g(i)+"મું";var i}function m(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+=g(t),o+=" "+(1n===t?"રૂપિયો":"રૂપિયા")),s>0n&&(t>0n&&(o+=" "),o+=g(s),o+=" "+(1n===s?"પૈસો":"પૈસા")),o}export{l as toCardinal,m as toCurrency,f as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/gu-IN v5.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=["","હજાર","લાખ","કરોડ","અબજ","ખરબ","નીલ","પદ્મ","શંખ"];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]+" સો":a[n]+" સો "+a[r]}function f(e){if(0n===e)return o;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(" ")}const l={guIN: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?u[Number(i)]:f(i)+"મું";var i}};e.currency={guIN: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+=f(t),o+=" "+(1n===t?"રૂપિયો":"રૂપિયા")),i>0n&&(t>0n&&(o+=" "),o+=f(i),o+=" "+(1n===i?"પૈસો":"પૈસા")),o}},e.guIN=function(e){const{isNegative:s,integerPart:u,decimalPart:c}=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+=f(u),c&&(g+=" દશાંશ "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?o:a[e])}return n.join(" ")}(c)),g},e.ordinal=l},"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/ha-NG.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/ha-NG v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function n(n){let[e,t]=n.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===e[0]&&(i="-",e=e.slice(1));const s=e.indexOf("."),a=-1===s?e:e.slice(0,s)+e.slice(s+1),o=(-1===s?e.length:s)+r;return o>=a.length?i+a+"0".repeat(o-a.length):o<=0?i+"0."+"0".repeat(-o)+a:i+a.slice(0,o)+"."+a.slice(o)}function e(e){const r=e.toString();return t(r)?n(r):r}function t(n){return n.includes("e")||n.includes("E")}function r(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const r=n.slice(0,t)||"0",i=n.slice(t+1);return{isNegative:e,integerPart:BigInt(r),decimalPart:i}}function i(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 a=r.slice(0,s)||"0",o=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(a),cents:BigInt(o)}}const s=["","ɗaya","biyu","uku","huɗu","biyar","shida","bakwai","takwas","tara"],a=["goma","sha ɗaya","sha biyu","sha uku","sha huɗu","sha biyar","sha shida","sha bakwai","sha takwas","sha tara"],o=["","","ashirin","talatin","arba'in","hamsin","sittin","saba'in","tamanin","tis'in"],u="ɗari",c="dubu",l="sifiri",g="babu",f=["",c,"miliyan","biliyan"];function h(n){if(0===n)return"";const e=n%10,t=Math.trunc(n/10)%10,r=Math.trunc(n/100),i=[];r>0&&i.push(1===r?u:s[r]+" "+u);const c=n%100;return 0===c||i.push(c<10?r>0?"da "+s[e]:s[e]:c<20?a[e]:0===e?o[t]:o[t]+" da "+s[e]),i.join(" ")}function b(n){return 0n===n?l:n<1000n?h(Number(n)):function(n){const e=n.toString(),t=e.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(e.slice(0,i))),s=i);s<t;)r.push(Number(e.slice(s,s+3))),s+=3;const a=[];let o=r.length-1;for(let n=0;n<r.length;n++){const e=r[n];if(0!==e){const n=f[o]||"";0===o?a.push(h(e)):(a.push(h(e)),a.push(n))}o--}const l=[];for(let n=0;n<a.length;n++){const e=a[n],t=a[n+1];("ɗaya"!==e||!t||t!==u&&t!==c)&&l.push(e)}const g=[];for(let n=0;n<l.length;n++){const e=l[n],t=n>0?l[n-1]:null;t&&d(e)&&(t===c||t===u||f.includes(t))?g.push(" da "):n>0&&g.push(" "),g.push(e)}return g.join("")}(n)}function d(n){return s.slice(1).includes(n)}function m(i){const{isNegative:a,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(e(i))}if("string"===s)return r(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}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let c="";return a&&(c=g+" "),c+=b(o),u&&(c+=" digo "+function(n){const e=[];for(const t of n){const n=parseInt(t,10);e.push(0===n?l:s[n])}return e.join(" ")}(u)),c}function w(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 n=BigInt(r);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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 1n===(i=r)?"na farko":"na "+b(i);var i}function p(n){const{isNegative:t,dollars:r,cents:s}=function(n){const t=typeof n;if("bigint"===t)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===t){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:i(e(n))}if("string"===t)return i(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);let a="";return t&&(a=g+" "),(r>0n||0n===s)&&(a+=b(r)+" naira"),s>0n&&(r>0n&&(a+=" da "),a+=b(s)+" kobo"),a}export{m as toCardinal,p as toCurrency,w as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/ha-NG v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ var n,e;n=this,e=function(n){"use strict";function e(n){let[e,t]=n.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===e[0]&&(i="-",e=e.slice(1));const s=e.indexOf("."),a=-1===s?e:e.slice(0,s)+e.slice(s+1),o=(-1===s?e.length:s)+r;return o>=a.length?i+a+"0".repeat(o-a.length):o<=0?i+"0."+"0".repeat(-o)+a:i+a.slice(0,o)+"."+a.slice(o)}function t(n){const t=n.toString();return r(t)?e(t):t}function r(n){return n.includes("e")||n.includes("E")}function i(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const r=n.slice(0,t)||"0",i=n.slice(t+1);return{isNegative:e,integerPart:BigInt(r),decimalPart:i}}function s(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 a=t.slice(0,s)||"0",o=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(a),cents:BigInt(o)}}const a=["","ɗaya","biyu","uku","huɗu","biyar","shida","bakwai","takwas","tara"],o=["goma","sha ɗaya","sha biyu","sha uku","sha huɗu","sha biyar","sha shida","sha bakwai","sha takwas","sha tara"],u=["","","ashirin","talatin","arba'in","hamsin","sittin","saba'in","tamanin","tis'in"],c="ɗari",l="dubu",g="sifiri",f="babu",h=["",l,"miliyan","biliyan"];function d(n){if(0===n)return"";const e=n%10,t=Math.trunc(n/10)%10,r=Math.trunc(n/100),i=[];r>0&&i.push(1===r?c:a[r]+" "+c);const s=n%100;return 0===s||i.push(s<10?r>0?"da "+a[e]:a[e]:s<20?o[e]:0===e?u[t]:u[t]+" da "+a[e]),i.join(" ")}function b(n){return 0n===n?g:n<1000n?d(Number(n)):function(n){const e=n.toString(),t=e.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(e.slice(0,i))),s=i);s<t;)r.push(Number(e.slice(s,s+3))),s+=3;const a=[];let o=r.length-1;for(let n=0;n<r.length;n++){const e=r[n];if(0!==e){const n=h[o]||"";0===o?a.push(d(e)):(a.push(d(e)),a.push(n))}o--}const u=[];for(let n=0;n<a.length;n++){const e=a[n],t=a[n+1];("ɗaya"!==e||!t||t!==c&&t!==l)&&u.push(e)}const g=[];for(let n=0;n<u.length;n++){const e=u[n],t=n>0?u[n-1]:null;t&&m(e)&&(t===l||t===c||h.includes(t))?g.push(" da "):n>0&&g.push(" "),g.push(e)}return g.join("")}(n)}function m(n){return a.slice(1).includes(n)}const w={haNG:function(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 n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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 1n===(i=t)?"na farko":"na "+b(i);var i}};n.currency={haNG:function(n){const{isNegative:e,dollars:r,cents:i}=function(n){const e=typeof n;if("bigint"===e)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===e){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:s(t(n))}if("string"===e)return s(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(n);let a="";return e&&(a=f+" "),(r>0n||0n===i)&&(a+=b(r)+" naira"),i>0n&&(r>0n&&(a+=" da "),a+=b(i)+" kobo"),a}},n.haNG=function(n){const{isNegative:s,integerPart:o,decimalPart:u}=function(n){const s=typeof n;if("bigint"===s)return n<0n?{isNegative:!0,integerPart:-n}:{isNegative:!1,integerPart:n};if("number"===s){if(!Number.isFinite(n))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(n)?n<0?{isNegative:!0,integerPart:BigInt(-n)}:{isNegative:!1,integerPart:BigInt(n)}:i(t(n))}if("string"===s)return i(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}(n));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(n);let c="";return s&&(c=f+" "),c+=b(o),u&&(c+=" digo "+function(n){const e=[];for(const t of n){const n=parseInt(t,10);e.push(0===n?g:a[n])}return e.join(" ")}(u)),c},n.ordinal=w},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n2words=n.n2words||{});
package/dist/hbo-IL.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/hbo-IL v5.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=["","אחד","שניים","שלשה","ארבעה","חמשה","ששה","שבעה","שמונה","תשעה"],o=["עשרה","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],u=["","אלף","אלפיים","שלשה אלפים","ארבעה אלפים","חמשה אלפים","ששה אלפים","שבעה אלפים","שמונה אלפים","תשעה אלפים"],c=["","אחת","שתים","שלש","ארבע","חמש","שש","שבע","שמונה","תשע"],a=["עשר","אחת עשרה","שתים עשרה","שלש עשרה","ארבע עשרה","חמש עשרה","שש עשרה","שבע עשרה","שמונה עשרה","תשע עשרה"],f=["","אלף","אלפיים","שלשת אלפים","ארבעת אלפים","חמשת אלפים","ששת אלפים","שבעת אלפים","שמונת אלפים","תשעת אלפים"],l=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],g=["","מאה","מאתיים","שלשה מאות","ארבעה מאות","חמשה מאות","ששה מאות","שבעה מאות","שמונה מאות","תשעה מאות"],m=["","מאה","מאתיים","שלש מאות","ארבע מאות","חמש מאות","שש מאות","שבע מאות","שמונה מאות","תשע מאות"],b=["","אלף","מיליון","מיליארד","טריליון","קוודרליון","קווינטיליון"],d=["","אלפים","מיליונים","מיליארדים","טריליונים","קוודרליונים","קווינטיליונים"],h="מינוס",w=["","ראשון","שני","שלישי","רביעי","חמישי","שישי","שביעי","שמיני","תשיעי"],p=["עשירי","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],N=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],v="שקלים";function I(e,n,t,r,i){if(0===e)return"";const s=e%10,o=Math.trunc(e/10)%10,u=Math.trunc(e/100);let c="";if(u>0&&(c=i[u]),1===o){const e=r[s];c?c+=" "+n+e:c=e}else o>=2&&(c?c+=" "+n+l[o]:c=l[o]),s>0&&(c?c+=" "+n+t[s]:c=t[s]);return c}function E(e,n,t,r,i){if(0===e)return"";const s=e%10,o=Math.trunc(e/10)%10,u=Math.trunc(e/100);let c="";return u>0&&(c=i[u]),1===o?c?c+=" "+r[s]:c=r[s]:(o>=2&&(c?c+=" "+l[o]:c=l[o]),s>0&&(c?c+=" "+n+t[s]:c=t[s])),c}function y(e,n,t){if(0n===e)return"אפס";const r="feminine"===n,i=r?c:s,l=r?a:o,h=r?f:u,w=r?m:g;if(e<1000n)return E(Number(e),t,i,l,w);const p=[];let N=e;for(;N>0n;)p.push(Number(N%1000n)),N/=1000n;let v="";for(let e=p.length-1;e>=0;e--){const n=p[e];if(0!==n)if(0===e){const e=E(n,t,i,l,w);v?v+=n<=9?" "+t+e:" "+e:v=e}else 1===e?n<=9?(v&&(v+=" "),v+=h[n]):(v&&(v+=" "),v+=I(n,t,i,l,w)+" "+b[1]):1===n?(v&&(v+=" "),v+=b[e]):(v&&(v+=" "),v+=I(n,t,i,l,w)+" "+d[e])}return v}function O(i,o){o=function(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)}(o);const{isNegative:u,integerPart:a,decimalPart:f}=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),{gender:l="masculine",andWord:g="ו"}=o;let m="";return u&&(m=h+" "),m+=y(a,l,g),f&&(m+=" נקודה "+function(e,n){const t="feminine"===n?c:s;let r="";for(let n=0;n<e.length;n++){const i=parseInt(e[n],10);r&&(r+=" "),r+=0===i?"אפס":t[i]}return r}(f,l)),m}function R(e){if(0===e)return"";if(e<10)return w[e];if(e<20)return p[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?N[t]+" ו"+w[1]:N[t]+" ו"+w[n]}function B(e){if(0n===e)return"";if(1n===e)return w[1];if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e/100n),t=Number(e%100n);return 0===t?"מאה":g[n]+" "+R(t)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return n<=9?u[n]:I(n,"ו",s,o,g)+" "+b[1];let r;if(r=n<=9?u[n]:I(n,"ו",s,o,g)+" "+b[1],t<100)return r+" "+R(t);const i=Math.trunc(t/100),c=t%100;return 0===c?r+" "+g[i]:r+" "+g[i]+" "+R(c)}const n=Number(e/1000000n),t=e%1000000n;if(0n===t)return 1===n?b[2]:I(n,"ו",s,o,g)+" "+d[2];let r;return r=1===n?b[2]:I(n,"ו",s,o,g)+" "+d[2],r+" "+B(t)}function P(n){return B(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 x(e){const{isNegative:t,dollars:r,cents:o}=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),u=[];if(t&&u.push(h),r>0n||0n===o)if(1n===r)u.push("שקל "+s[1]);else if(2n===r)u.push(s[2]+" "+v);else{const e=y(r,"masculine","ו");u.push(e+" "+v)}if(o>0n)if(1===Number(o))u.push("גרה "+c[1]);else{const e=y(o,"feminine","ו");u.push(e+" גרות")}return u.join(" ")}export{O as toCardinal,x as toCurrency,P as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/hbo-IL v5.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 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)}}const s=["","אחד","שניים","שלשה","ארבעה","חמשה","ששה","שבעה","שמונה","תשעה"],u=["עשרה","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],c=["","אלף","אלפיים","שלשה אלפים","ארבעה אלפים","חמשה אלפים","ששה אלפים","שבעה אלפים","שמונה אלפים","תשעה אלפים"],f=["","אחת","שתים","שלש","ארבע","חמש","שש","שבע","שמונה","תשע"],a=["עשר","אחת עשרה","שתים עשרה","שלש עשרה","ארבע עשרה","חמש עשרה","שש עשרה","שבע עשרה","שמונה עשרה","תשע עשרה"],l=["","אלף","אלפיים","שלשת אלפים","ארבעת אלפים","חמשת אלפים","ששת אלפים","שבעת אלפים","שמונת אלפים","תשעת אלפים"],g=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],d=["","מאה","מאתיים","שלשה מאות","ארבעה מאות","חמשה מאות","ששה מאות","שבעה מאות","שמונה מאות","תשעה מאות"],b=["","מאה","מאתיים","שלש מאות","ארבע מאות","חמש מאות","שש מאות","שבע מאות","שמונה מאות","תשע מאות"],m=["","אלף","מיליון","מיליארד","טריליון","קוודרליון","קווינטיליון"],h=["","אלפים","מיליונים","מיליארדים","טריליונים","קוודרליונים","קווינטיליונים"],p="מינוס",w=["","ראשון","שני","שלישי","רביעי","חמישי","שישי","שביעי","שמיני","תשיעי"],N=["עשירי","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],v=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],I="שקלים";function y(e,n,t,r,i){if(0===e)return"";const o=e%10,s=Math.trunc(e/10)%10,u=Math.trunc(e/100);let c="";if(u>0&&(c=i[u]),1===s){const e=r[o];c?c+=" "+n+e:c=e}else s>=2&&(c?c+=" "+n+g[s]:c=g[s]),o>0&&(c?c+=" "+n+t[o]:c=t[o]);return c}function E(e,n,t,r,i){if(0===e)return"";const o=e%10,s=Math.trunc(e/10)%10,u=Math.trunc(e/100);let c="";return u>0&&(c=i[u]),1===s?c?c+=" "+r[o]:c=r[o]:(s>=2&&(c?c+=" "+g[s]:c=g[s]),o>0&&(c?c+=" "+n+t[o]:c=t[o])),c}function O(e,n,t){if(0n===e)return"אפס";const r="feminine"===n,i=r?f:s,o=r?a:u,g=r?l:c,p=r?b:d;if(e<1000n)return E(Number(e),t,i,o,p);const w=[];let N=e;for(;N>0n;)w.push(Number(N%1000n)),N/=1000n;let v="";for(let e=w.length-1;e>=0;e--){const n=w[e];if(0!==n)if(0===e){const e=E(n,t,i,o,p);v?v+=n<=9?" "+t+e:" "+e:v=e}else 1===e?n<=9?(v&&(v+=" "),v+=g[n]):(v&&(v+=" "),v+=y(n,t,i,o,p)+" "+m[1]):1===n?(v&&(v+=" "),v+=m[e]):(v&&(v+=" "),v+=y(n,t,i,o,p)+" "+h[e])}return v}function R(e){if(0===e)return"";if(e<10)return w[e];if(e<20)return N[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?v[t]+" ו"+w[1]:v[t]+" ו"+w[n]}function B(e){if(0n===e)return"";if(1n===e)return w[1];if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e/100n),t=Number(e%100n);return 0===t?"מאה":d[n]+" "+R(t)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return n<=9?c[n]:y(n,"ו",s,u,d)+" "+m[1];let r;if(r=n<=9?c[n]:y(n,"ו",s,u,d)+" "+m[1],t<100)return r+" "+R(t);const i=Math.trunc(t/100),o=t%100;return 0===o?r+" "+d[i]:r+" "+d[i]+" "+R(o)}const n=Number(e/1000000n),t=e%1000000n;if(0n===t)return 1===n?m[2]:y(n,"ו",s,u,d)+" "+h[2];let r;return r=1===n?m[2]:y(n,"ו",s,u,d)+" "+h[2],r+" "+B(t)}const x={hboIL:function(e){return B(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={hboIL: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}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),u=[];if(n&&u.push(p),r>0n||0n===i)if(1n===r)u.push("שקל "+s[1]);else if(2n===r)u.push(s[2]+" "+I);else{const e=O(r,"masculine","ו");u.push(e+" "+I)}if(i>0n)if(1===Number(i))u.push("גרה "+f[1]);else{const e=O(i,"feminine","ו");u.push(e+" גרות")}return u.join(" ")}},e.hboIL=function(e,o){o=function(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)}(o);const{isNegative:u,integerPart:c,decimalPart:a}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){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"===o)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),{gender:l="masculine",andWord:g="ו"}=o;let d="";return u&&(d=p+" "),d+=O(c,l,g),a&&(d+=" נקודה "+function(e,n){const t="feminine"===n?f:s;let r="";for(let n=0;n<e.length;n++){const i=parseInt(e[n],10);r&&(r+=" "),r+=0===i?"אפס":t[i]}return r}(a,l)),d},e.ordinal=x},"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/he-IL.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/he-IL v5.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)}}const o=["","אחת","שתים","שלש","ארבע","חמש","שש","שבע","שמונה","תשע"],s=["עשר","אחת עשרה","שתים עשרה","שלש עשרה","ארבע עשרה","חמש עשרה","שש עשרה","שבע עשרה","שמונה עשרה","תשע עשרה"],u=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],c=["","מאה","מאתיים","שלש מאות","ארבע מאות","חמש מאות","שש מאות","שבע מאות","שמונה מאות","תשע מאות"],f=["","אלף","אלפיים","שלשת אלפים","ארבעת אלפים","חמשת אלפים","ששת אלפים","שבעת אלפים","שמונת אלפים","תשעת אלפים"],a=["","אלף","מיליון","מיליארד","טריליון","קוודרליון","קווינטיליון"],l=["","אלפים","מיליונים","מיליארדים","טריליונים","קוודרליונים","קווינטיליונים"],g="אפס",b="מינוס",m=["","אחד","שניים","שלשה","ארבעה","חמשה","ששה","שבעה","שמונה","תשעה"],d=["","ראשון","שני","שלישי","רביעי","חמישי","שישי","שביעי","שמיני","תשיעי"],h=["עשירי","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],w=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],p="שקלים";function N(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100);let f="";if(i>0&&(f=c[i]),1===r){const e=s[t];f?f+=" "+n+e:f=e}else r>=2&&(f?f+=" "+n+u[r]:f=u[r]),t>0&&(f?f+=" "+n+o[t]:f=o[t]);return f}function v(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100);let f="";return i>0&&(f=c[i]),1===r?f?f+=" "+s[t]:f=s[t]:(r>=2&&(f?f+=" "+u[r]:f=u[r]),t>0&&(f?f+=" "+n+o[t]:f=o[t])),f}function I(e,n){if(0n===e)return g;if(e<1000n)return v(Number(e),n);const t=[];let r=e;for(;r>0n;)t.push(Number(r%1000n)),r/=1000n;let i="";for(let e=t.length-1;e>=0;e--){const r=t[e];if(0!==r)if(0===e){const e=v(r,n);i?i+=r<=9?" "+n+e:" "+e:i=e}else 1===e?r<=9?(i&&(i+=" "),i+=f[r]):(i&&(i+=" "),i+=N(r,n)+" "+a[1]):1===r?(i&&(i+=" "),i+=a[e]):(i&&(i+=" "),i+=N(r,n)+" "+l[e])}return i}function E(i,s){s=function(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)}(s);const{isNegative:u,integerPart:c,decimalPart:f}=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),{andWord:a="ו"}=s;let l="";return u&&(l=b+" "),l+=I(c,a),f&&(l+=" נקודה "+function(e){let n="";for(let t=0;t<e.length;t++){const r=parseInt(e[t],10);n&&(n+=" "),n+=0===r?g:o[r]}return n}(f)),l}function y(e){if(0===e)return"";if(e<10)return d[e];if(e<20)return h[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?w[t]+" ו"+d[1]:w[t]+" ו"+d[n]}function O(e){if(0n===e)return"";if(1n===e)return d[1];if(e<100n)return y(Number(e));if(e<1000n){const n=Number(e/100n),t=Number(e%100n);let r;if(1===n){if(0===t)return"מאה";r=c[n]}else{if(0===t)return c[n];r=c[n]}return r+" "+y(t)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return n<=9?f[n]:N(n,"ו")+" "+a[1];let r;if(r=n<=9?f[n]:N(n,"ו")+" "+a[1],t<100)return r+" "+y(t);const i=Math.trunc(t/100),o=t%100;return 0===o?r+" "+c[i]:r+" "+c[i]+" "+y(o)}const n=Number(e/1000000n),t=e%1000000n;if(0n===t)return 1===n?a[2]:N(n,"ו")+" "+l[2];let r;return r=1===n?a[2]:N(n,"ו")+" "+l[2],r+" "+O(t)}function R(n){return O(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:f}=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),a=[];if(t&&a.push(b),r>0n||0n===f)if(1n===r)a.push("שקל "+m[1]);else if(2n===r)a.push(m[2]+" "+p);else{const e=0n===(l=r)?g:l<1000n?function(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100);let i="";if(r>0&&(i=c[r]),1===t){const e=s[n];i?i+=" "+e:i=e}else t>=2&&(i?i+=" "+u[t]:i=u[t]),n>0&&(i?i+=" ו"+m[n]:i=m[n]);return i}(Number(l)):I(l,"ו");a.push(e+" "+p)}var l;if(f>0n)if(1===Number(f))a.push("אגורה "+o[1]);else{const e=I(f,"ו");a.push(e+" אגורות")}return a.join(" ")}export{E as toCardinal,B as toCurrency,R as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/he-IL v5.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 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)}}const s=["","אחת","שתים","שלש","ארבע","חמש","שש","שבע","שמונה","תשע"],u=["עשר","אחת עשרה","שתים עשרה","שלש עשרה","ארבע עשרה","חמש עשרה","שש עשרה","שבע עשרה","שמונה עשרה","תשע עשרה"],c=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],f=["","מאה","מאתיים","שלש מאות","ארבע מאות","חמש מאות","שש מאות","שבע מאות","שמונה מאות","תשע מאות"],a=["","אלף","אלפיים","שלשת אלפים","ארבעת אלפים","חמשת אלפים","ששת אלפים","שבעת אלפים","שמונת אלפים","תשעת אלפים"],l=["","אלף","מיליון","מיליארד","טריליון","קוודרליון","קווינטיליון"],g=["","אלפים","מיליונים","מיליארדים","טריליונים","קוודרליונים","קווינטיליונים"],d="אפס",b="מינוס",m=["","אחד","שניים","שלשה","ארבעה","חמשה","ששה","שבעה","שמונה","תשעה"],h=["","ראשון","שני","שלישי","רביעי","חמישי","שישי","שביעי","שמיני","תשיעי"],p=["עשירי","אחד עשר","שנים עשר","שלשה עשר","ארבעה עשר","חמשה עשר","ששה עשר","שבעה עשר","שמונה עשר","תשעה עשר"],w=["","","עשרים","שלשים","ארבעים","חמישים","ששים","שבעים","שמונים","תשעים"],N="שקלים";function v(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100);let o="";if(i>0&&(o=f[i]),1===r){const e=u[t];o?o+=" "+n+e:o=e}else r>=2&&(o?o+=" "+n+c[r]:o=c[r]),t>0&&(o?o+=" "+n+s[t]:o=s[t]);return o}function I(e,n){if(0===e)return"";const t=e%10,r=Math.trunc(e/10)%10,i=Math.trunc(e/100);let o="";return i>0&&(o=f[i]),1===r?o?o+=" "+u[t]:o=u[t]:(r>=2&&(o?o+=" "+c[r]:o=c[r]),t>0&&(o?o+=" "+n+s[t]:o=s[t])),o}function y(e,n){if(0n===e)return d;if(e<1000n)return I(Number(e),n);const t=[];let r=e;for(;r>0n;)t.push(Number(r%1000n)),r/=1000n;let i="";for(let e=t.length-1;e>=0;e--){const r=t[e];if(0!==r)if(0===e){const e=I(r,n);i?i+=r<=9?" "+n+e:" "+e:i=e}else 1===e?r<=9?(i&&(i+=" "),i+=a[r]):(i&&(i+=" "),i+=v(r,n)+" "+l[1]):1===r?(i&&(i+=" "),i+=l[e]):(i&&(i+=" "),i+=v(r,n)+" "+g[e])}return i}function E(e){if(0===e)return"";if(e<10)return h[e];if(e<20)return p[e-10];const n=e%10,t=Math.trunc(e/10);return 0===n?w[t]+" ו"+h[1]:w[t]+" ו"+h[n]}function O(e){if(0n===e)return"";if(1n===e)return h[1];if(e<100n)return E(Number(e));if(e<1000n){const n=Number(e/100n),t=Number(e%100n);let r;if(1===n){if(0===t)return"מאה";r=f[n]}else{if(0===t)return f[n];r=f[n]}return r+" "+E(t)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return n<=9?a[n]:v(n,"ו")+" "+l[1];let r;if(r=n<=9?a[n]:v(n,"ו")+" "+l[1],t<100)return r+" "+E(t);const i=Math.trunc(t/100),o=t%100;return 0===o?r+" "+f[i]:r+" "+f[i]+" "+E(o)}const n=Number(e/1000000n),t=e%1000000n;if(0n===t)return 1===n?l[2]:v(n,"ו")+" "+g[2];let r;return r=1===n?l[2]:v(n,"ו")+" "+g[2],r+" "+O(t)}const R={heIL:function(e){return O(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={heIL: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}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),a=[];if(n&&a.push(b),r>0n||0n===i)if(1n===r)a.push("שקל "+m[1]);else if(2n===r)a.push(m[2]+" "+N);else{const e=0n===(l=r)?d:l<1000n?function(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100);let i="";if(r>0&&(i=f[r]),1===t){const e=u[n];i?i+=" "+e:i=e}else t>=2&&(i?i+=" "+c[t]:i=c[t]),n>0&&(i?i+=" ו"+m[n]:i=m[n]);return i}(Number(l)):y(l,"ו");a.push(e+" "+N)}var l;if(i>0n)if(1===Number(i))a.push("אגורה "+s[1]);else{const e=y(i,"ו");a.push(e+" אגורות")}return a.join(" ")}},e.heIL=function(e,o){o=function(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)}(o);const{isNegative:u,integerPart:c,decimalPart:f}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){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"===o)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),{andWord:a="ו"}=o;let l="";return u&&(l=b+" "),l+=y(c,a),f&&(l+=" נקודה "+function(e){let n="";for(let t=0;t<e.length;t++){const r=parseInt(e[t],10);n&&(n+=" "),n+=0===r?d:s[r]}return n}(f)),l},e.ordinal=R},"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/hi-IN.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/hi-IN v5.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]+" सौ":a[n]+" सौ "+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:u,integerPart:a,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 u&&(g=o+" "),g+=l(a),c&&(g+=" दशमलव "+function(e){let n="",r=0;for(;r<e.length&&"0"===e[r];)n&&(n+=" "),n+=s,r++;const t=e.slice(r);return t&&(n&&(n+=" "),n+=l(BigInt(t))),n}(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 u="";return r&&(u=o+" "),(t>0n||0n===s)&&(u+=l(t),u+=" "+(1n===t?"रुपया":"रुपये")),s>0n&&(t>0n&&(u+=" "),u+=l(s),u+=" "+(1n===s?"पैसा":"पैसे")),u}export{f as toCardinal,b as toCurrency,m as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/hi-IN v5.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 l(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]+" सौ":c[n]+" सौ "+c[r]}function f(e){if(0n===e)return o;if(e<1000n)return l(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?l(r):c[r]),e>0&&g[e]&&t.push(g[e]))}return t.join(" ")}const d={hiIN: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)]:f(i)+"वाँ";var i}};e.currency={hiIN: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=u+" "),(t>0n||0n===i)&&(o+=f(t),o+=" "+(1n===t?"रुपया":"रुपये")),i>0n&&(t>0n&&(o+=" "),o+=f(i),o+=" "+(1n===i?"पैसा":"पैसे")),o}},e.hiIN=function(e){const{isNegative:s,integerPart:a,decimalPart:c}=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=u+" "),g+=f(a),c&&(g+=" दशमलव "+function(e){let n="",r=0;for(;r<e.length&&"0"===e[r];)n&&(n+=" "),n+=o,r++;const t=e.slice(r);return t&&(n&&(n+=" "),n+=f(BigInt(t))),n}(c)),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||{});
package/dist/hr-HR.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/hr-HR v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function e(e){let[t,n]=e.toLowerCase().split("e");const i=parseInt(n,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)+i;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 t(t){const i=t.toString();return n(i)?e(i):i}function n(e){return e.includes("e")||e.includes("E")}function i(e){const t="-"===e[0];t&&(e=e.slice(1));const n=e.indexOf(".");if(-1===n)return{isNegative:t,integerPart:BigInt(e)};const i=e.slice(0,n)||"0",r=e.slice(n+1);return{isNegative:t,integerPart:BigInt(i),decimalPart:r}}function r(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)}}const s=["","jedan","dva","tri","četiri","pet","šest","sedam","osam","devet"],o=["","jedna","dvije","tri","četiri","pet","šest","sedam","osam","devet"],a=["deset","jedanaest","dvanaest","trinaest","četrnaest","petnaest","šesnaest","sedamnaest","osamnaest","devetnaest"],u=["","","dvadeset","trideset","četrdeset","pedeset","šezdeset","sedamdeset","osamdeset","devedeset"],l=["","sto","dvjesto","tristo","četiristo","petsto","šesto","sedamsto","osamsto","devetsto"],c="nula",d="minus",f=["","prvi","drugi","treći","četvrti","peti","šesti","sedmi","osmi","deveti"],g=["deseti","jedanaesti","dvanaesti","trinaesti","četrnaesti","petnaesti","šesnaesti","sedamnaesti","osamnaesti","devetnaesti"],m=["","","dvadeseti","trideseti","četrdeseti","pedeseti","šezdeseti","sedamdeseti","osamdeseti","devedeseti"],b=["","stoti","dvjestoti","tristoti","četiristoti","petstoti","šeststoti","sedamstoti","osamstoti","devetstoti"],h=["tisućiti","milijunti","milijarditi","bilijunti"],p=["euro","eura","eura"],v=["cent","centa","centi"],w=[["tisuća","tisuće","tisuća"],["milijun","milijuna","milijuna"],["milijarda","milijarde","milijarda"],["bilijun","bilijuna","bilijuna"],["bilijarda","bilijarde","bilijarda"],["trilijun","trilijuna","trilijuna"],["trilijarda","trilijarde","trilijarda"],["kvadrilijun","kvadrilijuna","kvadrilijuna"],["kvadrilijarda","kvadrilijarde","kvadrilijarda"]];function j(e,t){const n="bigint"==typeof e?Number(e):e,i=n%10,r=n%100;return r>=11&&r<=19?t[2]:1===i?t[0]:i>=2&&i<=4?t[1]:t[2]}function N(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),n>1&&r.push(u[n]),1===n?r.push(a[t]):t>0&&r.push(s[t]),r.join(" ")}function I(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),n>1&&r.push(u[n]),1===n?r.push(a[t]):t>0&&r.push(o[t]),r.join(" ")}function E(e,t){return 0n===e?c:e<1000n?"feminine"===t?I(Number(e)):N(Number(e)):function(e,t){const n=e.toString(),i=n.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(n.slice(0,s))),o=s);o<i;)r.push(Number(n.slice(o,o+3))),o+=3;const a=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===u)a.push("feminine"===t?I(n):N(n));else{const e=j(n,w[u-1]),t=1===u?I(n):N(n);a.push(t+" "+e)}u--}return a.join(" ")}(e,t)}function y(r,s){s=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(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)}:i(t(r))}if("string"===s)return i(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}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{gender:l="masculine"}=s;let f="";return o&&(f=d+" "),f+=E(a,l),u&&(f+=" zarez "+function(e,t){let n="",i=0;for(;i<e.length&&"0"===e[i];)n&&(n+=" "),n+=c,i++;const r=e.slice(i);return r&&(n&&(n+=" "),n+=E(BigInt(r),t)),n}(u,l)),f}function O(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10);return 0===n?f[t]:1===n?g[t]:0===t?m[n]:u[n]+" "+f[t]}function R(e){if(e<100n)return O(Number(e));if(e<1000n){const t=Number(e),n=Math.trunc(t/100),i=t%100;return 0===i?b[n]:l[n]+" "+O(i)}if(e<1000000n){const t=Number(e/1000n),n=Number(e%1000n);if(0===n)return 1===t?h[0]:I(t)+" "+h[0];const i=j(t,w[0]);return I(t)+" "+i+" "+R(BigInt(n))}return function(e){const t=e.toString(),n=t.length,i=[],r=n%3;let s=0;for(r>0&&(i.push(Number(t.slice(0,r))),s=r);s<n;)i.push(Number(t.slice(s,s+3))),s+=3;let o=i.length-1;for(;o>=0&&0===i[o];)o--;const a=[];let u=i.length-1;for(let e=0;e<i.length;e++){const t=i[e];if(0!==t){const n=e===o;if(0===u)a.push(n?R(BigInt(t)):N(t));else if(n)if(1===t)a.push(h[u-1]);else{const e=1===u?I(t):N(t);a.push(e+" "+h[u-1])}else{const e=j(t,w[u-1]),n=1===u?I(t):N(t);a.push(n+" "+e)}}u--}return a.join(" ")}(e)}function B(t){return R(function(t){const i=typeof t;if("bigint"===i){if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}if("number"===i){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"===i)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 e=BigInt(i);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: "${t}"`)}}(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(t))}function P(e){const{isNegative:n,dollars:i,cents:s}=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}:r(t(e))}if("string"===n)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o=d+" "),(i>0n||0n===s)&&(o+=E(i,"masculine"),o+=" "+j(i,p)),s>0n&&(i>0n&&(o+=" "),o+=E(s,"masculine"),o+=" "+j(s,v)),o}export{y as toCardinal,P as toCurrency,B as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/hr-HR v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ var e,t;e=this,t=function(e){"use strict";function t(e){let[t,n]=e.toLowerCase().split("e");const i=parseInt(n,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)+i;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 n(e){const n=e.toString();return i(n)?t(n):n}function i(e){return e.includes("e")||e.includes("E")}function r(e){const t="-"===e[0];t&&(e=e.slice(1));const n=e.indexOf(".");if(-1===n)return{isNegative:t,integerPart:BigInt(e)};const i=e.slice(0,n)||"0",r=e.slice(n+1);return{isNegative:t,integerPart:BigInt(i),decimalPart:r}}function s(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)}}const o=["","jedan","dva","tri","četiri","pet","šest","sedam","osam","devet"],a=["","jedna","dvije","tri","četiri","pet","šest","sedam","osam","devet"],u=["deset","jedanaest","dvanaest","trinaest","četrnaest","petnaest","šesnaest","sedamnaest","osamnaest","devetnaest"],l=["","","dvadeset","trideset","četrdeset","pedeset","šezdeset","sedamdeset","osamdeset","devedeset"],c=["","sto","dvjesto","tristo","četiristo","petsto","šesto","sedamsto","osamsto","devetsto"],d="nula",f="minus",g=["","prvi","drugi","treći","četvrti","peti","šesti","sedmi","osmi","deveti"],m=["deseti","jedanaesti","dvanaesti","trinaesti","četrnaesti","petnaesti","šesnaesti","sedamnaesti","osamnaesti","devetnaesti"],h=["","","dvadeseti","trideseti","četrdeseti","pedeseti","šezdeseti","sedamdeseti","osamdeseti","devedeseti"],p=["","stoti","dvjestoti","tristoti","četiristoti","petstoti","šeststoti","sedamstoti","osamstoti","devetstoti"],b=["tisućiti","milijunti","milijarditi","bilijunti"],v=["euro","eura","eura"],w=["cent","centa","centi"],j=[["tisuća","tisuće","tisuća"],["milijun","milijuna","milijuna"],["milijarda","milijarde","milijarda"],["bilijun","bilijuna","bilijuna"],["bilijarda","bilijarde","bilijarda"],["trilijun","trilijuna","trilijuna"],["trilijarda","trilijarde","trilijarda"],["kvadrilijun","kvadrilijuna","kvadrilijuna"],["kvadrilijarda","kvadrilijarde","kvadrilijarda"]];function N(e,t){const n="bigint"==typeof e?Number(e):e,i=n%10,r=n%100;return r>=11&&r<=19?t[2]:1===i?t[0]:i>=2&&i<=4?t[1]:t[2]}function I(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(c[i]),n>1&&r.push(l[n]),1===n?r.push(u[t]):t>0&&r.push(o[t]),r.join(" ")}function y(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(c[i]),n>1&&r.push(l[n]),1===n?r.push(u[t]):t>0&&r.push(a[t]),r.join(" ")}function E(e,t){return 0n===e?d:e<1000n?"feminine"===t?y(Number(e)):I(Number(e)):function(e,t){const n=e.toString(),i=n.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(n.slice(0,s))),o=s);o<i;)r.push(Number(n.slice(o,o+3))),o+=3;const a=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n)if(0===u)a.push("feminine"===t?y(n):I(n));else{const e=N(n,j[u-1]),t=1===u?y(n):I(n);a.push(t+" "+e)}u--}return a.join(" ")}(e,t)}function R(e){if(0===e)return"";const t=e%10,n=Math.trunc(e/10);return 0===n?g[t]:1===n?m[t]:0===t?h[n]:l[n]+" "+g[t]}function O(e){if(e<100n)return R(Number(e));if(e<1000n){const t=Number(e),n=Math.trunc(t/100),i=t%100;return 0===i?p[n]:c[n]+" "+R(i)}if(e<1000000n){const t=Number(e/1000n),n=Number(e%1000n);if(0===n)return 1===t?b[0]:y(t)+" "+b[0];const i=N(t,j[0]);return y(t)+" "+i+" "+O(BigInt(n))}return function(e){const t=e.toString(),n=t.length,i=[],r=n%3;let s=0;for(r>0&&(i.push(Number(t.slice(0,r))),s=r);s<n;)i.push(Number(t.slice(s,s+3))),s+=3;let o=i.length-1;for(;o>=0&&0===i[o];)o--;const a=[];let u=i.length-1;for(let e=0;e<i.length;e++){const t=i[e];if(0!==t){const n=e===o;if(0===u)a.push(n?O(BigInt(t)):I(t));else if(n)if(1===t)a.push(b[u-1]);else{const e=1===u?y(t):I(t);a.push(e+" "+b[u-1])}else{const e=N(t,j[u-1]),n=1===u?y(t):I(t);a.push(n+" "+e)}}u--}return a.join(" ")}(e)}const B={hrHR:function(e){return O(function(e){const n=typeof e;if("bigint"===n){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===n){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"===n)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 e=BigInt(n);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(t){if(t instanceof RangeError)throw t;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e))}};e.currency={hrHR:function(e){const{isNegative:t,dollars:i,cents:r}=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}:s(n(e))}if("string"===t)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let o="";return t&&(o=f+" "),(i>0n||0n===r)&&(o+=E(i,"masculine"),o+=" "+N(i,v)),r>0n&&(i>0n&&(o+=" "),o+=E(r,"masculine"),o+=" "+N(r,w)),o}},e.hrHR=function(e,s){s=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(s);const{isNegative:o,integerPart:a,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)}:r(n(e))}if("string"===s)return r(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}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e),{gender:l="masculine"}=s;let c="";return o&&(c=f+" "),c+=E(a,l),u&&(c+=" zarez "+function(e,t){let n="",i=0;for(;i<e.length&&"0"===e[i];)n&&(n+=" "),n+=d,i++;const r=e.slice(i);return r&&(n&&(n+=" "),n+=E(BigInt(r),t)),n}(u,l)),c},e.ordinal=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
package/dist/hu-HU.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/hu-HU v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ function n(n){let[e,t]=n.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const o=e.indexOf("."),s=-1===o?e:e.slice(0,o)+e.slice(o+1),u=(-1===o?e.length:o)+i;return u>=s.length?r+s+"0".repeat(u-s.length):u<=0?r+"0."+"0".repeat(-u)+s:r+s.slice(0,u)+"."+s.slice(u)}function e(e){const i=e.toString();return t(i)?n(i):i}function t(n){return n.includes("e")||n.includes("E")}function i(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const i=n.slice(0,t)||"0",r=n.slice(t+1);return{isNegative:e,integerPart:BigInt(i),decimalPart:r}}function r(e){let i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${e}"`);t(i)&&(i=n(i));const r="-"===i[0];r&&(i=i.slice(1));const o=i.indexOf(".");if(-1===o)return{isNegative:r,dollars:BigInt(i),cents:0n};const s=i.slice(0,o)||"0",u=(i.slice(o+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(s),cents:BigInt(u)}}const o=new Map([[1000000000000000000000000000n,"quadrilliárd"],[1000000000000000000000000n,"quadrillió"],[1000000000000000000000n,"trilliárd"],[1000000000000000000n,"trillió"],[1000000000000000n,"billiárd"],[1000000000000n,"billió"],[1000000000n,"milliárd"],[1000000n,"millió"],[1000n,"ezer"],[100n,"száz"],[90n,"kilencven"],[80n,"nyolcvan"],[70n,"hetven"],[60n,"hatvan"],[50n,"ötven"],[40n,"negyven"],[30n,"harminc"],[29n,"huszonkilenc"],[28n,"huszonnyolc"],[27n,"huszonhét"],[26n,"huszonhat"],[25n,"huszonöt"],[24n,"huszonnégy"],[23n,"huszonhárom"],[22n,"huszonkettő"],[21n,"huszonegy"],[20n,"húsz"],[19n,"tizenkilenc"],[18n,"tizennyolc"],[17n,"tizenhét"],[16n,"tizenhat"],[15n,"tizenöt"],[14n,"tizennégy"],[13n,"tizenhárom"],[12n,"tizenkettő"],[11n,"tizenegy"],[10n,"tíz"],[9n,"kilenc"],[8n,"nyolc"],[7n,"hét"],[6n,"hat"],[5n,"öt"],[4n,"négy"],[3n,"három"],[2n,"kettő"],[1n,"egy"],[0n,"nulla"]]),s="nulla",u="mínusz",a={1:"első",2:"második",3:"harmadik",4:"negyedik",5:"ötödik",6:"hatodik",7:"hetedik",8:"nyolcadik",9:"kilencedik",10:"tizedik",20:"huszadik",30:"harmincadik",40:"negyvenedik",50:"ötvenedik",60:"hatvanadik",70:"hetvenedik",80:"nyolcvanadik",90:"kilencvenedik",100:"századik",1e3:"ezredik"};function l(n){return o.get(n)}const c=[1000000000000000000000000000n,1000000000000000000000000n,1000000000000000000000n,1000000000000000000n,1000000000000000n,1000000000000n,1000000000n,1000000n];function g(n,e=s){return"bigint"!=typeof n&&(n=BigInt(n)),0n===n?e:""===e&&2n===n?"két":n<30n?l(n):n<100n?function(n){if(o.has(n))return o.get(n);const e=n%10n;return l(n/10n*10n)+g(e)}(n):n<1000n?function(n){const e=n/100n;let t="száz";return 1n!==e&&(t=g(e,"")+t),t+g(n%100n,"")}(n):n<1000000n?function(n){const e=n/1000n;let t="ezer";1n!==e&&(t=g(e,"")+t);const i=g(n%1000n,"");return t+(n<=2000n||""===i?"":"-")+i}(n):function(n){let e=1000000n;for(const t of c)if(n>=t){e=t;break}const t=g(n/e,""),i=g(n%e,""),r=""===i?"":"-"+i;return t+l(e)+r}(n)}function f(n){return g(n,s)}function d(r){const{isNegative:o,integerPart:a,decimalPart:l}=function(r){const o=typeof r;if("bigint"===o)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"===o){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)}:i(e(r))}if("string"===o)return i(function(e){const i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${e}"`);return t(i)?n(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(r);let c="";return o&&(c=u+" "),c+=f(a),l&&(c+=" egész "+function(n){let e="",t=0;for(;t<n.length&&"0"===n[t];)e&&(e+=" "),e+=s,t++;const i=n.slice(t);return i&&(e&&(e+=" "),e+=f(BigInt(i))),e}(l)),c}function h(e){return function(n){const e=Number(n);if(a[e])return a[e];const t=f(n);if("aáoóuúeéiíöőüű".includes(t[t.length-1]))return t+"dik";for(let n=t.length-1;n>=0;n--){const e=t[n];if("aáoóuú".includes(e))return t+"adik";if("öőüű".includes(e))return t+"ödik";if("eéií".includes(e))return t+"edik"}return t+"edik"}(function(e){const i=typeof e;if("bigint"===i){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===i){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"===i)return function(e){const i=e.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(t(i)){const e=n(i);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 n=BigInt(i);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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 ${i}`)}(e))}function m(n){const{isNegative:t,dollars:i,cents:o}=function(n){const t=typeof n;if("bigint"===t)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===t){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:r(e(n))}if("string"===t)return r(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);let s="";return t&&(s=u+" "),(i>0n||0n===o)&&(s+=f(i)+" forint"),o>0n&&(i>0n&&(s+=" "),s+=f(o)+" fillér"),s}export{d as toCardinal,m as toCurrency,h as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/hu-HU v5.0.0 | MIT License | github.com/forzagreen/n2words */
2
+ var n,e;n=this,e=function(n){"use strict";function e(n){let[e,t]=n.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const o=e.indexOf("."),s=-1===o?e:e.slice(0,o)+e.slice(o+1),u=(-1===o?e.length:o)+i;return u>=s.length?r+s+"0".repeat(u-s.length):u<=0?r+"0."+"0".repeat(-u)+s:r+s.slice(0,u)+"."+s.slice(u)}function t(n){const t=n.toString();return i(t)?e(t):t}function i(n){return n.includes("e")||n.includes("E")}function r(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const i=n.slice(0,t)||"0",r=n.slice(t+1);return{isNegative:e,integerPart:BigInt(i),decimalPart:r}}function o(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);i(t)&&(t=e(t));const r="-"===t[0];r&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:r,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(s),cents:BigInt(u)}}const s=new Map([[1000000000000000000000000000n,"quadrilliárd"],[1000000000000000000000000n,"quadrillió"],[1000000000000000000000n,"trilliárd"],[1000000000000000000n,"trillió"],[1000000000000000n,"billiárd"],[1000000000000n,"billió"],[1000000000n,"milliárd"],[1000000n,"millió"],[1000n,"ezer"],[100n,"száz"],[90n,"kilencven"],[80n,"nyolcvan"],[70n,"hetven"],[60n,"hatvan"],[50n,"ötven"],[40n,"negyven"],[30n,"harminc"],[29n,"huszonkilenc"],[28n,"huszonnyolc"],[27n,"huszonhét"],[26n,"huszonhat"],[25n,"huszonöt"],[24n,"huszonnégy"],[23n,"huszonhárom"],[22n,"huszonkettő"],[21n,"huszonegy"],[20n,"húsz"],[19n,"tizenkilenc"],[18n,"tizennyolc"],[17n,"tizenhét"],[16n,"tizenhat"],[15n,"tizenöt"],[14n,"tizennégy"],[13n,"tizenhárom"],[12n,"tizenkettő"],[11n,"tizenegy"],[10n,"tíz"],[9n,"kilenc"],[8n,"nyolc"],[7n,"hét"],[6n,"hat"],[5n,"öt"],[4n,"négy"],[3n,"három"],[2n,"kettő"],[1n,"egy"],[0n,"nulla"]]),u="nulla",a="mínusz",l={1:"első",2:"második",3:"harmadik",4:"negyedik",5:"ötödik",6:"hatodik",7:"hetedik",8:"nyolcadik",9:"kilencedik",10:"tizedik",20:"huszadik",30:"harmincadik",40:"negyvenedik",50:"ötvenedik",60:"hatvanadik",70:"hetvenedik",80:"nyolcvanadik",90:"kilencvenedik",100:"századik",1e3:"ezredik"};function c(n){return s.get(n)}const g=[1000000000000000000000000000n,1000000000000000000000000n,1000000000000000000000n,1000000000000000000n,1000000000000000n,1000000000000n,1000000000n,1000000n];function f(n,e=u){return"bigint"!=typeof n&&(n=BigInt(n)),0n===n?e:""===e&&2n===n?"két":n<30n?c(n):n<100n?function(n){if(s.has(n))return s.get(n);const e=n%10n;return c(n/10n*10n)+f(e)}(n):n<1000n?function(n){const e=n/100n;let t="száz";return 1n!==e&&(t=f(e,"")+t),t+f(n%100n,"")}(n):n<1000000n?function(n){const e=n/1000n;let t="ezer";1n!==e&&(t=f(e,"")+t);const i=f(n%1000n,"");return t+(n<=2000n||""===i?"":"-")+i}(n):function(n){let e=1000000n;for(const t of g)if(n>=t){e=t;break}const t=f(n/e,""),i=f(n%e,""),r=""===i?"":"-"+i;return t+c(e)+r}(n)}function d(n){return f(n,u)}const h={huHU:function(n){return function(n){const e=Number(n);if(l[e])return l[e];const t=d(n);if("aáoóuúeéiíöőüű".includes(t[t.length-1]))return t+"dik";for(let n=t.length-1;n>=0;n--){const e=t[n];if("aáoóuú".includes(e))return t+"adik";if("öőüű".includes(e))return t+"ödik";if("eéií".includes(e))return t+"edik"}return t+"edik"}(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(i(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(n);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}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))}};n.currency={huHU:function(n){const{isNegative:e,dollars:i,cents:r}=function(n){const e=typeof n;if("bigint"===e)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===e){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:o(t(n))}if("string"===e)return o(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(n);let s="";return e&&(s=a+" "),(i>0n||0n===r)&&(s+=d(i)+" forint"),r>0n&&(i>0n&&(s+=" "),s+=d(r)+" fillér"),s}},n.huHU=function(n){const{isNegative:o,integerPart:s,decimalPart:l}=function(n){const o=typeof n;if("bigint"===o)return n<0n?{isNegative:!0,integerPart:-n}:{isNegative:!1,integerPart:n};if("number"===o){if(!Number.isFinite(n))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(n)?n<0?{isNegative:!0,integerPart:BigInt(-n)}:{isNegative:!1,integerPart:BigInt(n)}:r(t(n))}if("string"===o)return r(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return i(t)?e(t):t}(n));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(n);let c="";return o&&(c=a+" "),c+=d(s),l&&(c+=" egész "+function(n){let e="",t=0;for(;t<n.length&&"0"===n[t];)e&&(e+=" "),e+=u,t++;const i=n.slice(t);return i&&(e&&(e+=" "),e+=d(BigInt(i))),e}(l)),c},n.ordinal=h},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n2words=n.n2words||{});
package/dist/id-ID.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! n2words/id-ID v5.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","delapan","sembilan"],u=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","delapan belas","sembilan belas"],a=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","delapan puluh","sembilan puluh"],o="ratus",l="ribu",c=["juta","miliar","triliun","kuadriliun","kuantiliun","sekstiliun","septiliun","oktiliun","noniliun","desiliun"];function g(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 f(e){if(0n===e)return"nol";if(e<1000n)return g(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+l:g(n)+" "+l,t>0&&(r+=" "+g(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(g(n));else if(1===a)u.push(1===n?"se"+l:g(n)+" "+l);else{const e=c[a-2];u.push(g(n)+" "+e)}a--}return u.join(" ")}(e)}function m(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="min "),o+=f(u),a&&(o+=" koma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+="nol",t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=f(BigInt(r))),n}(a)),o}function b(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"+f(i);var i}function h(e){const{isNegative:t,dollars:r}=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 s="";return t&&(s="min "),s+=f(r),s+=" rupiah",s}export{m as toCardinal,h as toCurrency,b as toOrdinal};
@@ -0,0 +1,2 @@
1
+ /*! n2words/id-ID v5.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","delapan","sembilan"],o=["sepuluh","sebelas","dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","delapan belas","sembilan belas"],a=["","","dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","delapan puluh","sembilan puluh"],l="ratus",c="ribu",g=["juta","miliar","triliun","kuadriliun","kuantiliun","sekstiliun","septiliun","oktiliun","noniliun","desiliun"];function f(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 m(e){if(0n===e)return"nol";if(e<1000n)return f(Number(e));if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r;return r=1===n?"se"+c:f(n)+" "+c,t>0&&(r+=" "+f(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(f(n));else if(1===o)u.push(1===n?"se"+c:f(n)+" "+c);else{const e=g[o-2];u.push(f(n)+" "+e)}o--}return u.join(" ")}(e)}const d={idID: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"+m(i);var i}};e.currency={idID:function(e){const{isNegative:n,dollars:r}=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 i="";return n&&(i="min "),i+=m(r),i+=" rupiah",i}},e.idID=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="min "),a+=m(u),o&&(a+=" koma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+="nol",t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=m(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||{});