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.
- package/CHANGELOG.md +51 -40
- package/LICENSE +1 -1
- package/README.md +64 -184
- package/dist/am-ET.js +2 -0
- package/dist/am-ET.umd.js +2 -0
- package/dist/am-Latn-ET.js +2 -0
- package/dist/am-Latn-ET.umd.js +2 -0
- package/dist/ar-SA.js +2 -0
- package/dist/ar-SA.umd.js +2 -0
- package/dist/az-AZ.js +2 -0
- package/dist/az-AZ.umd.js +2 -0
- package/dist/bn-BD.js +2 -0
- package/dist/bn-BD.umd.js +2 -0
- package/dist/cs-CZ.js +2 -0
- package/dist/cs-CZ.umd.js +2 -0
- package/dist/da-DK.js +2 -0
- package/dist/da-DK.umd.js +2 -0
- package/dist/de-DE.js +2 -0
- package/dist/de-DE.umd.js +2 -0
- package/dist/el-GR.js +2 -0
- package/dist/el-GR.umd.js +2 -0
- package/dist/en-AU.js +2 -0
- package/dist/en-AU.umd.js +2 -0
- package/dist/en-BD.js +2 -0
- package/dist/en-BD.umd.js +2 -0
- package/dist/en-CA.js +2 -0
- package/dist/en-CA.umd.js +2 -0
- package/dist/en-GB.js +2 -0
- package/dist/en-GB.umd.js +2 -0
- package/dist/en-GH.js +2 -0
- package/dist/en-GH.umd.js +2 -0
- package/dist/en-IE.js +2 -0
- package/dist/en-IE.umd.js +2 -0
- package/dist/en-IN.js +2 -0
- package/dist/en-IN.umd.js +2 -0
- package/dist/en-KE.js +2 -0
- package/dist/en-KE.umd.js +2 -0
- package/dist/en-MY.js +2 -0
- package/dist/en-MY.umd.js +2 -0
- package/dist/en-NG.js +2 -0
- package/dist/en-NG.umd.js +2 -0
- package/dist/en-NZ.js +2 -0
- package/dist/en-NZ.umd.js +2 -0
- package/dist/en-PH.js +2 -0
- package/dist/en-PH.umd.js +2 -0
- package/dist/en-PK.js +2 -0
- package/dist/en-PK.umd.js +2 -0
- package/dist/en-SG.js +2 -0
- package/dist/en-SG.umd.js +2 -0
- package/dist/en-US.js +2 -0
- package/dist/en-US.umd.js +2 -0
- package/dist/en-ZA.js +2 -0
- package/dist/en-ZA.umd.js +2 -0
- package/dist/es-ES.js +2 -0
- package/dist/es-ES.umd.js +2 -0
- package/dist/es-MX.js +2 -0
- package/dist/es-MX.umd.js +2 -0
- package/dist/es-US.js +2 -0
- package/dist/es-US.umd.js +2 -0
- package/dist/fa-IR.js +2 -0
- package/dist/fa-IR.umd.js +2 -0
- package/dist/fi-FI.js +2 -0
- package/dist/fi-FI.umd.js +2 -0
- package/dist/fil-PH.js +2 -0
- package/dist/fil-PH.umd.js +2 -0
- package/dist/fr-BE.js +2 -0
- package/dist/fr-BE.umd.js +2 -0
- package/dist/fr-FR.js +2 -0
- package/dist/fr-FR.umd.js +2 -0
- package/dist/gu-IN.js +2 -0
- package/dist/gu-IN.umd.js +2 -0
- package/dist/ha-NG.js +2 -0
- package/dist/ha-NG.umd.js +2 -0
- package/dist/hbo-IL.js +2 -0
- package/dist/hbo-IL.umd.js +2 -0
- package/dist/he-IL.js +2 -0
- package/dist/he-IL.umd.js +2 -0
- package/dist/hi-IN.js +2 -0
- package/dist/hi-IN.umd.js +2 -0
- package/dist/hr-HR.js +2 -0
- package/dist/hr-HR.umd.js +2 -0
- package/dist/hu-HU.js +2 -0
- package/dist/hu-HU.umd.js +2 -0
- package/dist/id-ID.js +2 -0
- package/dist/id-ID.umd.js +2 -0
- package/dist/it-IT.js +2 -0
- package/dist/it-IT.umd.js +2 -0
- package/dist/ja-JP.js +2 -0
- package/dist/ja-JP.umd.js +2 -0
- package/dist/ka-GE.js +2 -0
- package/dist/ka-GE.umd.js +2 -0
- package/dist/kn-IN.js +2 -0
- package/dist/kn-IN.umd.js +2 -0
- package/dist/ko-KR.js +2 -0
- package/dist/ko-KR.umd.js +2 -0
- package/dist/lt-LT.js +2 -0
- package/dist/lt-LT.umd.js +2 -0
- package/dist/lv-LV.js +2 -0
- package/dist/lv-LV.umd.js +2 -0
- package/dist/mr-IN.js +2 -0
- package/dist/mr-IN.umd.js +2 -0
- package/dist/ms-MY.js +2 -0
- package/dist/ms-MY.umd.js +2 -0
- package/dist/nb-NO.js +2 -0
- package/dist/nb-NO.umd.js +2 -0
- package/dist/nl-NL.js +2 -0
- package/dist/nl-NL.umd.js +2 -0
- package/dist/pa-IN.js +2 -0
- package/dist/pa-IN.umd.js +2 -0
- package/dist/pl-PL.js +2 -0
- package/dist/pl-PL.umd.js +2 -0
- package/dist/pt-BR.js +2 -0
- package/dist/pt-BR.umd.js +2 -0
- package/dist/pt-PT.js +2 -0
- package/dist/pt-PT.umd.js +2 -0
- package/dist/ro-RO.js +2 -0
- package/dist/ro-RO.umd.js +2 -0
- package/dist/ru-RU.js +2 -0
- package/dist/ru-RU.umd.js +2 -0
- package/dist/sr-Cyrl-RS.js +2 -0
- package/dist/sr-Cyrl-RS.umd.js +2 -0
- package/dist/sr-Latn-RS.js +2 -0
- package/dist/sr-Latn-RS.umd.js +2 -0
- package/dist/sv-SE.js +2 -0
- package/dist/sv-SE.umd.js +2 -0
- package/dist/sw-KE.js +2 -0
- package/dist/sw-KE.umd.js +2 -0
- package/dist/ta-IN.js +2 -0
- package/dist/ta-IN.umd.js +2 -0
- package/dist/te-IN.js +2 -0
- package/dist/te-IN.umd.js +2 -0
- package/dist/th-TH.js +2 -0
- package/dist/th-TH.umd.js +2 -0
- package/dist/tr-TR.js +2 -0
- package/dist/tr-TR.umd.js +2 -0
- package/dist/uk-UA.js +2 -0
- package/dist/uk-UA.umd.js +2 -0
- package/dist/ur-PK.js +2 -0
- package/dist/ur-PK.umd.js +2 -0
- package/dist/vi-VN.js +2 -0
- package/dist/vi-VN.umd.js +2 -0
- package/dist/yo-NG.js +2 -0
- package/dist/yo-NG.umd.js +2 -0
- package/dist/zh-Hans-CN.js +2 -0
- package/dist/zh-Hans-CN.umd.js +2 -0
- package/dist/zh-Hant-TW.js +2 -0
- package/dist/zh-Hant-TW.umd.js +2 -0
- package/package.json +61 -88
- package/src/am-ET.d.ts +40 -0
- package/src/am-ET.js +269 -0
- package/src/am-Latn-ET.d.ts +35 -0
- package/src/am-Latn-ET.js +264 -0
- package/src/ar-SA.d.ts +49 -0
- package/{lib/languages/ar.js → src/ar-SA.js} +177 -15
- package/src/az-AZ.d.ts +37 -0
- package/src/az-AZ.js +312 -0
- package/src/bn-BD.d.ts +36 -0
- package/{lib/languages/bn.js → src/bn-BD.js} +110 -6
- package/src/cs-CZ.d.ts +49 -0
- package/{lib/languages/cs.js → src/cs-CZ.js} +240 -14
- package/src/da-DK.d.ts +44 -0
- package/{lib/languages/da.js → src/da-DK.js} +131 -11
- package/src/de-DE.d.ts +57 -0
- package/src/de-DE.js +603 -0
- package/src/el-GR.d.ts +40 -0
- package/src/el-GR.js +418 -0
- package/src/en-AU.d.ts +47 -0
- package/src/en-AU.js +423 -0
- package/src/en-BD.d.ts +49 -0
- package/src/en-BD.js +415 -0
- package/src/en-CA.d.ts +63 -0
- package/src/en-CA.js +518 -0
- package/src/en-GB.d.ts +56 -0
- package/src/en-GB.js +469 -0
- package/src/en-GH.d.ts +11 -0
- package/src/en-GH.js +345 -0
- package/src/en-IE.d.ts +56 -0
- package/src/en-IE.js +479 -0
- package/src/en-IN.d.ts +49 -0
- package/src/en-IN.js +415 -0
- package/src/en-KE.d.ts +11 -0
- package/src/en-KE.js +345 -0
- package/src/en-MY.d.ts +11 -0
- package/src/en-MY.js +347 -0
- package/src/en-NG.d.ts +56 -0
- package/src/en-NG.js +479 -0
- package/src/en-NZ.d.ts +11 -0
- package/{lib/languages/en.js → src/en-NZ.js} +164 -31
- package/src/en-PH.d.ts +11 -0
- package/src/en-PH.js +345 -0
- package/src/en-PK.d.ts +49 -0
- package/src/en-PK.js +415 -0
- package/src/en-SG.d.ts +11 -0
- package/src/en-SG.js +345 -0
- package/src/en-US.d.ts +63 -0
- package/src/en-US.js +516 -0
- package/src/en-ZA.d.ts +56 -0
- package/src/en-ZA.js +478 -0
- package/src/es-ES.d.ts +65 -0
- package/src/es-ES.js +541 -0
- package/src/es-MX.d.ts +58 -0
- package/{lib/languages/es.js → src/es-MX.js} +228 -18
- package/src/es-US.d.ts +58 -0
- package/src/es-US.js +446 -0
- package/src/fa-IR.d.ts +38 -0
- package/src/fa-IR.js +246 -0
- package/src/fi-FI.d.ts +46 -0
- package/{lib/languages/fi.js → src/fi-FI.js} +152 -11
- package/src/fil-PH.d.ts +37 -0
- package/{lib/languages/fil.js → src/fil-PH.js} +144 -8
- package/src/fr-BE.d.ts +49 -0
- package/{lib/languages → src}/fr-BE.js +175 -13
- package/src/fr-FR.d.ts +63 -0
- package/{lib/languages/fr.js → src/fr-FR.js} +182 -16
- package/src/gu-IN.d.ts +35 -0
- package/{lib/languages/gu.js → src/gu-IN.js} +115 -6
- package/src/ha-NG.d.ts +37 -0
- package/{lib/languages/ha.js → src/ha-NG.js} +107 -8
- package/src/hbo-IL.d.ts +39 -0
- package/{lib/languages/hbo.js → src/hbo-IL.js} +211 -19
- package/src/he-IL.d.ts +37 -0
- package/src/he-IL.js +537 -0
- package/src/hi-IN.d.ts +36 -0
- package/{lib/languages/hi.js → src/hi-IN.js} +116 -6
- package/src/hr-HR.d.ts +42 -0
- package/src/hr-HR.js +463 -0
- package/src/hu-HU.d.ts +38 -0
- package/{lib/languages/hu.js → src/hu-HU.js} +164 -6
- package/src/id-ID.d.ts +38 -0
- package/{lib/languages/id.js → src/id-ID.js} +99 -8
- package/src/it-IT.d.ts +59 -0
- package/{lib/languages/it.js → src/it-IT.js} +179 -15
- package/src/ja-JP.d.ts +49 -0
- package/{lib/languages/ja.js → src/ja-JP.js} +111 -12
- package/src/ka-GE.d.ts +44 -0
- package/{lib/languages/ka.js → src/ka-GE.js} +113 -11
- package/src/kn-IN.d.ts +35 -0
- package/{lib/languages/kn.js → src/kn-IN.js} +115 -6
- package/src/ko-KR.d.ts +45 -0
- package/{lib/languages/ko.js → src/ko-KR.js} +94 -12
- package/src/lt-LT.d.ts +49 -0
- package/src/lt-LT.js +543 -0
- package/src/lv-LV.d.ts +49 -0
- package/src/lv-LV.js +595 -0
- package/src/mr-IN.d.ts +36 -0
- package/{lib/languages/mr.js → src/mr-IN.js} +116 -6
- package/src/ms-MY.d.ts +37 -0
- package/{lib/languages/ms.js → src/ms-MY.js} +111 -8
- package/src/nb-NO.d.ts +44 -0
- package/{lib/languages/nb.js → src/nb-NO.js} +153 -11
- package/src/nl-NL.d.ts +54 -0
- package/{lib/languages/nl.js → src/nl-NL.js} +260 -18
- package/src/pa-IN.d.ts +36 -0
- package/{lib/languages/pa.js → src/pa-IN.js} +116 -6
- package/src/pl-PL.d.ts +55 -0
- package/src/pl-PL.js +585 -0
- package/src/pt-BR.d.ts +31 -0
- package/src/pt-BR.js +534 -0
- package/src/pt-PT.d.ts +45 -0
- package/{lib/languages/pt.js → src/pt-PT.js} +234 -12
- package/src/ro-RO.d.ts +44 -0
- package/{lib/languages/ro.js → src/ro-RO.js} +212 -18
- package/src/ru-RU.d.ts +50 -0
- package/src/ru-RU.js +535 -0
- package/src/sr-Cyrl-RS.d.ts +49 -0
- package/src/sr-Cyrl-RS.js +503 -0
- package/src/sr-Latn-RS.d.ts +49 -0
- package/src/sr-Latn-RS.js +503 -0
- package/src/sv-SE.d.ts +44 -0
- package/{lib/languages/sv.js → src/sv-SE.js} +136 -11
- package/src/sw-KE.d.ts +37 -0
- package/{lib/languages/sw.js → src/sw-KE.js} +117 -6
- package/src/ta-IN.d.ts +35 -0
- package/{lib/languages/ta.js → src/ta-IN.js} +109 -6
- package/src/te-IN.d.ts +35 -0
- package/{lib/languages/te.js → src/te-IN.js} +115 -6
- package/src/th-TH.d.ts +38 -0
- package/{lib/languages/th.js → src/th-TH.js} +99 -6
- package/src/tr-TR.d.ts +48 -0
- package/{lib/languages/tr.js → src/tr-TR.js} +168 -23
- package/src/uk-UA.d.ts +42 -0
- package/src/uk-UA.js +463 -0
- package/src/ur-PK.d.ts +36 -0
- package/{lib/languages/ur.js → src/ur-PK.js} +116 -6
- package/src/utils/expand-scientific.d.ts +32 -0
- package/src/utils/expand-scientific.js +65 -0
- package/src/utils/parse-cardinal.d.ts +14 -0
- package/{lib/utils/parse-numeric.js → src/utils/parse-cardinal.js} +14 -44
- package/src/utils/parse-currency.d.ts +14 -0
- package/src/utils/parse-currency.js +91 -0
- package/src/utils/parse-ordinal.d.ts +10 -0
- package/src/utils/parse-ordinal.js +103 -0
- package/src/vi-VN.d.ts +48 -0
- package/{lib/languages/vi.js → src/vi-VN.js} +102 -11
- package/src/yo-NG.d.ts +37 -0
- package/{lib/languages/yo.js → src/yo-NG.js} +109 -9
- package/src/zh-Hans-CN.d.ts +48 -0
- package/{lib/languages/zh-Hans.js → src/zh-Hans-CN.js} +140 -8
- package/src/zh-Hant-TW.d.ts +50 -0
- package/{lib/languages/zh-Hant.js → src/zh-Hant-TW.js} +139 -8
- package/dist/languages/am-Latn.js +0 -3
- package/dist/languages/am-Latn.js.map +0 -1
- package/dist/languages/am.js +0 -3
- package/dist/languages/am.js.map +0 -1
- package/dist/languages/ar.js +0 -3
- package/dist/languages/ar.js.map +0 -1
- package/dist/languages/az.js +0 -3
- package/dist/languages/az.js.map +0 -1
- package/dist/languages/bn.js +0 -3
- package/dist/languages/bn.js.map +0 -1
- package/dist/languages/cs.js +0 -3
- package/dist/languages/cs.js.map +0 -1
- package/dist/languages/da.js +0 -3
- package/dist/languages/da.js.map +0 -1
- package/dist/languages/de.js +0 -3
- package/dist/languages/de.js.map +0 -1
- package/dist/languages/el.js +0 -3
- package/dist/languages/el.js.map +0 -1
- package/dist/languages/en.js +0 -3
- package/dist/languages/en.js.map +0 -1
- package/dist/languages/es.js +0 -3
- package/dist/languages/es.js.map +0 -1
- package/dist/languages/fa.js +0 -3
- package/dist/languages/fa.js.map +0 -1
- package/dist/languages/fi.js +0 -3
- package/dist/languages/fi.js.map +0 -1
- package/dist/languages/fil.js +0 -3
- package/dist/languages/fil.js.map +0 -1
- package/dist/languages/fr-BE.js +0 -3
- package/dist/languages/fr-BE.js.map +0 -1
- package/dist/languages/fr.js +0 -3
- package/dist/languages/fr.js.map +0 -1
- package/dist/languages/gu.js +0 -3
- package/dist/languages/gu.js.map +0 -1
- package/dist/languages/ha.js +0 -3
- package/dist/languages/ha.js.map +0 -1
- package/dist/languages/hbo.js +0 -3
- package/dist/languages/hbo.js.map +0 -1
- package/dist/languages/he.js +0 -3
- package/dist/languages/he.js.map +0 -1
- package/dist/languages/hi.js +0 -3
- package/dist/languages/hi.js.map +0 -1
- package/dist/languages/hr.js +0 -3
- package/dist/languages/hr.js.map +0 -1
- package/dist/languages/hu.js +0 -3
- package/dist/languages/hu.js.map +0 -1
- package/dist/languages/id.js +0 -3
- package/dist/languages/id.js.map +0 -1
- package/dist/languages/it.js +0 -3
- package/dist/languages/it.js.map +0 -1
- package/dist/languages/ja.js +0 -3
- package/dist/languages/ja.js.map +0 -1
- package/dist/languages/ka.js +0 -3
- package/dist/languages/ka.js.map +0 -1
- package/dist/languages/kn.js +0 -3
- package/dist/languages/kn.js.map +0 -1
- package/dist/languages/ko.js +0 -3
- package/dist/languages/ko.js.map +0 -1
- package/dist/languages/lt.js +0 -3
- package/dist/languages/lt.js.map +0 -1
- package/dist/languages/lv.js +0 -3
- package/dist/languages/lv.js.map +0 -1
- package/dist/languages/mr.js +0 -3
- package/dist/languages/mr.js.map +0 -1
- package/dist/languages/ms.js +0 -3
- package/dist/languages/ms.js.map +0 -1
- package/dist/languages/nb.js +0 -3
- package/dist/languages/nb.js.map +0 -1
- package/dist/languages/nl.js +0 -3
- package/dist/languages/nl.js.map +0 -1
- package/dist/languages/pa.js +0 -3
- package/dist/languages/pa.js.map +0 -1
- package/dist/languages/pl.js +0 -3
- package/dist/languages/pl.js.map +0 -1
- package/dist/languages/pt.js +0 -3
- package/dist/languages/pt.js.map +0 -1
- package/dist/languages/ro.js +0 -3
- package/dist/languages/ro.js.map +0 -1
- package/dist/languages/ru.js +0 -3
- package/dist/languages/ru.js.map +0 -1
- package/dist/languages/sr-Cyrl.js +0 -3
- package/dist/languages/sr-Cyrl.js.map +0 -1
- package/dist/languages/sr-Latn.js +0 -3
- package/dist/languages/sr-Latn.js.map +0 -1
- package/dist/languages/sv.js +0 -3
- package/dist/languages/sv.js.map +0 -1
- package/dist/languages/sw.js +0 -3
- package/dist/languages/sw.js.map +0 -1
- package/dist/languages/ta.js +0 -3
- package/dist/languages/ta.js.map +0 -1
- package/dist/languages/te.js +0 -3
- package/dist/languages/te.js.map +0 -1
- package/dist/languages/th.js +0 -3
- package/dist/languages/th.js.map +0 -1
- package/dist/languages/tr.js +0 -3
- package/dist/languages/tr.js.map +0 -1
- package/dist/languages/uk.js +0 -3
- package/dist/languages/uk.js.map +0 -1
- package/dist/languages/ur.js +0 -3
- package/dist/languages/ur.js.map +0 -1
- package/dist/languages/vi.js +0 -3
- package/dist/languages/vi.js.map +0 -1
- package/dist/languages/yo.js +0 -3
- package/dist/languages/yo.js.map +0 -1
- package/dist/languages/zh-Hans.js +0 -3
- package/dist/languages/zh-Hans.js.map +0 -1
- package/dist/languages/zh-Hant.js +0 -3
- package/dist/languages/zh-Hant.js.map +0 -1
- package/dist/n2words.js +0 -3
- package/dist/n2words.js.map +0 -1
- package/lib/languages/am-Latn.d.ts +0 -7
- package/lib/languages/am-Latn.js +0 -159
- package/lib/languages/am.d.ts +0 -7
- package/lib/languages/am.js +0 -159
- package/lib/languages/ar.d.ts +0 -17
- package/lib/languages/az.d.ts +0 -7
- package/lib/languages/az.js +0 -171
- package/lib/languages/bn.d.ts +0 -7
- package/lib/languages/cs.d.ts +0 -18
- package/lib/languages/da.d.ts +0 -14
- package/lib/languages/de.d.ts +0 -17
- package/lib/languages/de.js +0 -320
- package/lib/languages/el.d.ts +0 -14
- package/lib/languages/el.js +0 -236
- package/lib/languages/en.d.ts +0 -17
- package/lib/languages/es.d.ts +0 -21
- package/lib/languages/fa.d.ts +0 -7
- package/lib/languages/fa.js +0 -134
- package/lib/languages/fi.d.ts +0 -14
- package/lib/languages/fil.d.ts +0 -7
- package/lib/languages/fr-BE.d.ts +0 -11
- package/lib/languages/fr.d.ts +0 -21
- package/lib/languages/gu.d.ts +0 -7
- package/lib/languages/ha.d.ts +0 -7
- package/lib/languages/hbo.d.ts +0 -13
- package/lib/languages/he.d.ts +0 -13
- package/lib/languages/he.js +0 -265
- package/lib/languages/hi.d.ts +0 -7
- package/lib/languages/hr.d.ts +0 -11
- package/lib/languages/hr.js +0 -224
- package/lib/languages/hu.d.ts +0 -7
- package/lib/languages/id.d.ts +0 -7
- package/lib/languages/it.d.ts +0 -19
- package/lib/languages/ja.d.ts +0 -17
- package/lib/languages/ka.d.ts +0 -17
- package/lib/languages/kn.d.ts +0 -7
- package/lib/languages/ko.d.ts +0 -14
- package/lib/languages/lt.d.ts +0 -18
- package/lib/languages/lt.js +0 -301
- package/lib/languages/lv.d.ts +0 -18
- package/lib/languages/lv.js +0 -312
- package/lib/languages/mr.d.ts +0 -7
- package/lib/languages/ms.d.ts +0 -7
- package/lib/languages/nb.d.ts +0 -14
- package/lib/languages/nl.d.ts +0 -26
- package/lib/languages/pa.d.ts +0 -7
- package/lib/languages/pl.d.ts +0 -22
- package/lib/languages/pl.js +0 -317
- package/lib/languages/pt.d.ts +0 -17
- package/lib/languages/ro.d.ts +0 -18
- package/lib/languages/ru.d.ts +0 -11
- package/lib/languages/ru.js +0 -245
- package/lib/languages/sr-Cyrl.d.ts +0 -11
- package/lib/languages/sr-Cyrl.js +0 -221
- package/lib/languages/sr-Latn.d.ts +0 -11
- package/lib/languages/sr-Latn.js +0 -221
- package/lib/languages/sv.d.ts +0 -14
- package/lib/languages/sw.d.ts +0 -7
- package/lib/languages/ta.d.ts +0 -7
- package/lib/languages/te.d.ts +0 -7
- package/lib/languages/th.d.ts +0 -7
- package/lib/languages/tr.d.ts +0 -18
- package/lib/languages/uk.d.ts +0 -11
- package/lib/languages/uk.js +0 -224
- package/lib/languages/ur.d.ts +0 -7
- package/lib/languages/vi.d.ts +0 -17
- package/lib/languages/yo.d.ts +0 -7
- package/lib/languages/zh-Hans.d.ts +0 -11
- package/lib/languages/zh-Hant.d.ts +0 -11
- package/lib/n2words.d.ts +0 -55
- package/lib/n2words.js +0 -126
- package/lib/utils/parse-numeric.d.ts +0 -17
- /package/{lib → src}/utils/is-plain-object.d.ts +0 -0
- /package/{lib → src}/utils/is-plain-object.js +0 -0
- /package/{lib → src}/utils/validate-options.d.ts +0 -0
- /package/{lib → src}/utils/validate-options.js +0 -0
package/lib/languages/fa.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Persian language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained converter using recursive decomposition.
|
|
5
|
-
*
|
|
6
|
-
* Key features:
|
|
7
|
-
* - "و" (and) conjunction for compound numbers
|
|
8
|
-
* - Omit "یک" (one) before thousand
|
|
9
|
-
* - Pre-composed hundreds (دویست, سيصد, etc.)
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
13
|
-
|
|
14
|
-
// ============================================================================
|
|
15
|
-
// Vocabulary
|
|
16
|
-
// ============================================================================
|
|
17
|
-
|
|
18
|
-
const ONES = { 1: 'یک', 2: 'دو', 3: 'سه', 4: 'چهار', 5: 'پنج', 6: 'شش', 7: 'هفت', 8: 'هشت', 9: 'نه' }
|
|
19
|
-
const TEENS = { 10: 'ده', 11: 'یازده', 12: 'دوازده', 13: 'سیزده', 14: 'چهارده', 15: 'پانزده', 16: 'شانزده', 17: 'هفده', 18: 'هجده', 19: 'نوزده' }
|
|
20
|
-
const TENS = { 20: 'بیست', 30: 'سی', 40: 'چهل', 50: 'پنجاه', 60: 'شصت', 70: 'هفتاد', 80: 'هشتاد', 90: 'نود' }
|
|
21
|
-
const HUNDREDS = { 100: 'صد', 200: 'دویست', 300: 'سيصد', 400: 'چهار صد', 500: 'پانصد', 600: 'ششصد', 700: 'هفتصد', 800: 'هشتصد', 900: 'نهصد' }
|
|
22
|
-
|
|
23
|
-
const THOUSAND = 'هزار'
|
|
24
|
-
const MILLION = 'میلیون'
|
|
25
|
-
|
|
26
|
-
const ZERO = 'صفر'
|
|
27
|
-
const NEGATIVE = 'منفى'
|
|
28
|
-
const DECIMAL_SEP = 'ممیّز'
|
|
29
|
-
|
|
30
|
-
// ============================================================================
|
|
31
|
-
// Conversion Functions
|
|
32
|
-
// ============================================================================
|
|
33
|
-
|
|
34
|
-
function integerToWords (n) {
|
|
35
|
-
if (n === 0n) return ZERO
|
|
36
|
-
|
|
37
|
-
// 1-9
|
|
38
|
-
if (n <= 9n) {
|
|
39
|
-
return ONES[Number(n)]
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// 10-19
|
|
43
|
-
if (n <= 19n) {
|
|
44
|
-
return TEENS[Number(n)]
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// 20-99
|
|
48
|
-
if (n < 100n) {
|
|
49
|
-
const ones = n % 10n
|
|
50
|
-
const tens = n - ones
|
|
51
|
-
if (ones === 0n) {
|
|
52
|
-
return TENS[Number(tens)]
|
|
53
|
-
}
|
|
54
|
-
return `${TENS[Number(tens)]} و ${ONES[Number(ones)]}`
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// 100-999
|
|
58
|
-
if (n < 1000n) {
|
|
59
|
-
const hundreds = 100n * (n / 100n)
|
|
60
|
-
const remainder = n - hundreds
|
|
61
|
-
if (remainder === 0n) {
|
|
62
|
-
return HUNDREDS[Number(hundreds)]
|
|
63
|
-
}
|
|
64
|
-
return `${HUNDREDS[Number(hundreds)]} و ${integerToWords(remainder)}`
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// 1000-999999
|
|
68
|
-
if (n < 1_000_000n) {
|
|
69
|
-
const thousandMultiplier = n / 1000n
|
|
70
|
-
// Persian omits "one" before thousand: 1000 is just "هزار", not "یک هزار"
|
|
71
|
-
const thousandPrefix = thousandMultiplier === 1n
|
|
72
|
-
? ''
|
|
73
|
-
: integerToWords(thousandMultiplier) + ' '
|
|
74
|
-
const remainder = n % 1000n
|
|
75
|
-
const suffix = remainder === 0n ? '' : ' ' + integerToWords(remainder)
|
|
76
|
-
return `${thousandPrefix}${THOUSAND}${suffix}`
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// 1000000+
|
|
80
|
-
const millionMultiplier = n / 1_000_000n
|
|
81
|
-
const millionPrefix = integerToWords(millionMultiplier) + ' ' + MILLION
|
|
82
|
-
const remainder = n % 1_000_000n
|
|
83
|
-
const suffix = remainder === 0n ? '' : ' و ' + integerToWords(remainder)
|
|
84
|
-
return `${millionPrefix}${suffix}`
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function decimalPartToWords (decimalPart) {
|
|
88
|
-
let result = ''
|
|
89
|
-
let i = 0
|
|
90
|
-
|
|
91
|
-
while (i < decimalPart.length && decimalPart[i] === '0') {
|
|
92
|
-
if (result) result += ' '
|
|
93
|
-
result += ZERO
|
|
94
|
-
i++
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const remainder = decimalPart.slice(i)
|
|
98
|
-
if (remainder) {
|
|
99
|
-
if (result) result += ' '
|
|
100
|
-
result += integerToWords(BigInt(remainder))
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
return result
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Converts a numeric value to Persian words.
|
|
108
|
-
*
|
|
109
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
110
|
-
* @returns {string} The number in Persian words
|
|
111
|
-
*/
|
|
112
|
-
function toWords (value) {
|
|
113
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
114
|
-
|
|
115
|
-
let result = ''
|
|
116
|
-
|
|
117
|
-
if (isNegative) {
|
|
118
|
-
result = NEGATIVE + ' '
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
result += integerToWords(integerPart)
|
|
122
|
-
|
|
123
|
-
if (decimalPart) {
|
|
124
|
-
result += ' ' + DECIMAL_SEP + ' ' + decimalPartToWords(decimalPart)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return result
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// ============================================================================
|
|
131
|
-
// Exports
|
|
132
|
-
// ============================================================================
|
|
133
|
-
|
|
134
|
-
export { toWords }
|
package/lib/languages/fi.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Finnish words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @returns {string} The number in Finnish words
|
|
6
|
-
* @throws {TypeError} If value is not a valid numeric type
|
|
7
|
-
* @throws {Error} If value is not a valid number format
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* toWords(21) // 'kaksikymmentäyksi'
|
|
11
|
-
* toWords(1000) // 'tuhat'
|
|
12
|
-
* toWords('3.14') // 'kolme pilkku yksi neljä'
|
|
13
|
-
*/
|
|
14
|
-
export function toWords(value: number | string | bigint): string;
|
package/lib/languages/fil.d.ts
DELETED
package/lib/languages/fr-BE.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Belgian French words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @param {Object} [options] - Optional configuration
|
|
6
|
-
* @param {boolean} [options.withHyphenSeparator=false] - Use hyphens between words
|
|
7
|
-
* @returns {string} The number in Belgian French words
|
|
8
|
-
*/
|
|
9
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
10
|
-
withHyphenSeparator?: boolean | undefined;
|
|
11
|
-
}): string;
|
package/lib/languages/fr.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to French words.
|
|
3
|
-
*
|
|
4
|
-
* This is the main public API. It accepts any valid numeric input
|
|
5
|
-
* (number, string, or bigint) and handles parsing internally.
|
|
6
|
-
*
|
|
7
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
8
|
-
* @param {Object} [options] - Optional configuration
|
|
9
|
-
* @param {boolean} [options.withHyphenSeparator=false] - Use hyphens between all words
|
|
10
|
-
* @returns {string} The number in French words
|
|
11
|
-
* @throws {TypeError} If value is not a valid numeric type
|
|
12
|
-
* @throws {Error} If value is not a valid number format
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* toWords(21) // 'vingt et un'
|
|
16
|
-
* toWords(80) // 'quatre-vingts'
|
|
17
|
-
* toWords(1000000) // 'un million'
|
|
18
|
-
*/
|
|
19
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
20
|
-
withHyphenSeparator?: boolean | undefined;
|
|
21
|
-
}): string;
|
package/lib/languages/gu.d.ts
DELETED
package/lib/languages/ha.d.ts
DELETED
package/lib/languages/hbo.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Biblical Hebrew words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @param {Object} [options] - Optional configuration
|
|
6
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
7
|
-
* @param {string} [options.andWord] - Custom conjunction word
|
|
8
|
-
* @returns {string} The number in Biblical Hebrew words
|
|
9
|
-
*/
|
|
10
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
11
|
-
gender?: "masculine" | "feminine" | undefined;
|
|
12
|
-
andWord?: string | undefined;
|
|
13
|
-
}): string;
|
package/lib/languages/he.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Modern Hebrew words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @param {Object} [options] - Optional configuration
|
|
6
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
7
|
-
* @param {string} [options.andWord] - Custom conjunction word
|
|
8
|
-
* @returns {string} The number in Modern Hebrew words
|
|
9
|
-
*/
|
|
10
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
11
|
-
gender?: "masculine" | "feminine" | undefined;
|
|
12
|
-
andWord?: string | undefined;
|
|
13
|
-
}): string;
|
package/lib/languages/he.js
DELETED
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Modern Hebrew language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained module with its own input validation, ready for subpath exports.
|
|
5
|
-
*
|
|
6
|
-
* Key features:
|
|
7
|
-
* - Feminine grammatical forms (default in Modern Hebrew)
|
|
8
|
-
* - Dual forms for 2, 200, 2000
|
|
9
|
-
* - Special 1-9 thousands construct state
|
|
10
|
-
* - "ו" (ve) conjunction rules vary by position
|
|
11
|
-
* - Per-digit decimal reading
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
15
|
-
import { validateOptions } from '../utils/validate-options.js'
|
|
16
|
-
|
|
17
|
-
// ============================================================================
|
|
18
|
-
// Vocabulary (arrays for indexed access - faster than object property lookup)
|
|
19
|
-
// ============================================================================
|
|
20
|
-
|
|
21
|
-
// Feminine forms (default in Modern Hebrew) - index 0 unused
|
|
22
|
-
const ONES = ['', 'אחת', 'שתים', 'שלש', 'ארבע', 'חמש', 'שש', 'שבע', 'שמונה', 'תשע']
|
|
23
|
-
const TEENS = ['עשר', 'אחת עשרה', 'שתים עשרה', 'שלש עשרה', 'ארבע עשרה', 'חמש עשרה', 'שש עשרה', 'שבע עשרה', 'שמונה עשרה', 'תשע עשרה']
|
|
24
|
-
const TENS = ['', '', 'עשרים', 'שלשים', 'ארבעים', 'חמישים', 'ששים', 'שבעים', 'שמונים', 'תשעים']
|
|
25
|
-
const HUNDREDS = ['', 'מאה', 'מאתיים', 'שלש מאות', 'ארבע מאות', 'חמש מאות', 'שש מאות', 'שבע מאות', 'שמונה מאות', 'תשע מאות']
|
|
26
|
-
|
|
27
|
-
// Special forms for 1-9 thousand (index 0 unused)
|
|
28
|
-
const THOUSANDS_SPECIAL = ['', 'אלף', 'אלפיים', 'שלשת אלפים', 'ארבעת אלפים', 'חמשת אלפים', 'ששת אלפים', 'שבעת אלפים', 'שמונת אלפים', 'תשעת אלפים']
|
|
29
|
-
|
|
30
|
-
// Scale words (index 1 = thousands, 2 = millions, etc.)
|
|
31
|
-
const SCALE = ['', 'אלף', 'מיליון', 'מיליארד', 'טריליון', 'קוודרליון', 'קווינטיליון']
|
|
32
|
-
const SCALE_PLURAL = ['', 'אלפים', 'מיליונים', 'מיליארדים', 'טריליונים', 'קוודרליונים', 'קווינטיליונים']
|
|
33
|
-
|
|
34
|
-
const ZERO = 'אפס'
|
|
35
|
-
const NEGATIVE = 'מינוס'
|
|
36
|
-
const DECIMAL_SEP = 'נקודה'
|
|
37
|
-
|
|
38
|
-
// ============================================================================
|
|
39
|
-
// Segment Building
|
|
40
|
-
// ============================================================================
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Builds segment word for scale segments (thousands, millions, etc.).
|
|
44
|
-
* "ו" is added before tens and ones when following hundreds.
|
|
45
|
-
*/
|
|
46
|
-
function buildScaleSegment (n, andWord) {
|
|
47
|
-
if (n === 0) return ''
|
|
48
|
-
|
|
49
|
-
const ones = n % 10
|
|
50
|
-
const tens = Math.floor(n / 10) % 10
|
|
51
|
-
const hundreds = Math.floor(n / 100)
|
|
52
|
-
|
|
53
|
-
let result = ''
|
|
54
|
-
|
|
55
|
-
// Hundreds
|
|
56
|
-
if (hundreds > 0) {
|
|
57
|
-
result = HUNDREDS[hundreds]
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Tens and ones
|
|
61
|
-
if (tens === 1) {
|
|
62
|
-
// Teens (10-19)
|
|
63
|
-
const teenWord = TEENS[ones]
|
|
64
|
-
if (result) {
|
|
65
|
-
result += ' ' + andWord + teenWord
|
|
66
|
-
} else {
|
|
67
|
-
result = teenWord
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
// Tens (20-90)
|
|
71
|
-
if (tens >= 2) {
|
|
72
|
-
if (result) {
|
|
73
|
-
result += ' ' + andWord + TENS[tens]
|
|
74
|
-
} else {
|
|
75
|
-
result = TENS[tens]
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Ones
|
|
80
|
-
if (ones > 0) {
|
|
81
|
-
if (result) {
|
|
82
|
-
result += ' ' + andWord + ONES[ones]
|
|
83
|
-
} else {
|
|
84
|
-
result = ONES[ones]
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return result
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Builds segment word for units segment (no scale word).
|
|
94
|
-
* "ו" is only added before the final ones digit.
|
|
95
|
-
*/
|
|
96
|
-
function buildUnitsSegment (n, andWord) {
|
|
97
|
-
if (n === 0) return ''
|
|
98
|
-
|
|
99
|
-
const ones = n % 10
|
|
100
|
-
const tens = Math.floor(n / 10) % 10
|
|
101
|
-
const hundreds = Math.floor(n / 100)
|
|
102
|
-
|
|
103
|
-
let result = ''
|
|
104
|
-
|
|
105
|
-
// Hundreds
|
|
106
|
-
if (hundreds > 0) {
|
|
107
|
-
result = HUNDREDS[hundreds]
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Tens (no conjunction)
|
|
111
|
-
if (tens === 1) {
|
|
112
|
-
// Teens (10-19)
|
|
113
|
-
if (result) {
|
|
114
|
-
result += ' ' + TEENS[ones]
|
|
115
|
-
} else {
|
|
116
|
-
result = TEENS[ones]
|
|
117
|
-
}
|
|
118
|
-
} else {
|
|
119
|
-
if (tens >= 2) {
|
|
120
|
-
if (result) {
|
|
121
|
-
result += ' ' + TENS[tens]
|
|
122
|
-
} else {
|
|
123
|
-
result = TENS[tens]
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// Ones - conjunction only here
|
|
128
|
-
if (ones > 0) {
|
|
129
|
-
if (result) {
|
|
130
|
-
result += ' ' + andWord + ONES[ones]
|
|
131
|
-
} else {
|
|
132
|
-
result = ONES[ones]
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return result
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// ============================================================================
|
|
141
|
-
// Conversion Functions
|
|
142
|
-
// ============================================================================
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Converts a non-negative integer to Hebrew words.
|
|
146
|
-
*
|
|
147
|
-
* @param {bigint} n - Non-negative integer to convert
|
|
148
|
-
* @param {Object} options - Conversion options
|
|
149
|
-
* @returns {string} Hebrew words
|
|
150
|
-
*/
|
|
151
|
-
function integerToWords (n, options) {
|
|
152
|
-
if (n === 0n) return ZERO
|
|
153
|
-
|
|
154
|
-
const andWord = options.andWord ?? 'ו'
|
|
155
|
-
|
|
156
|
-
// Fast path: numbers < 1000
|
|
157
|
-
if (n < 1000n) {
|
|
158
|
-
return buildUnitsSegment(Number(n), andWord)
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Extract segments using BigInt modulo
|
|
162
|
-
const segments = []
|
|
163
|
-
let temp = n
|
|
164
|
-
while (temp > 0n) {
|
|
165
|
-
segments.push(Number(temp % 1000n))
|
|
166
|
-
temp = temp / 1000n
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// Build result string directly
|
|
170
|
-
let result = ''
|
|
171
|
-
|
|
172
|
-
for (let i = segments.length - 1; i >= 0; i--) {
|
|
173
|
-
const segment = segments[i]
|
|
174
|
-
if (segment === 0) continue
|
|
175
|
-
|
|
176
|
-
if (i === 0) {
|
|
177
|
-
// Units segment (no scale word)
|
|
178
|
-
const segmentWord = buildUnitsSegment(segment, andWord)
|
|
179
|
-
if (result) {
|
|
180
|
-
// Add "ו" before single-digit units when following scale words
|
|
181
|
-
if (segment <= 9) {
|
|
182
|
-
result += ' ' + andWord + segmentWord
|
|
183
|
-
} else {
|
|
184
|
-
result += ' ' + segmentWord
|
|
185
|
-
}
|
|
186
|
-
} else {
|
|
187
|
-
result = segmentWord
|
|
188
|
-
}
|
|
189
|
-
} else if (i === 1) {
|
|
190
|
-
// Thousands - special handling for 1-9
|
|
191
|
-
if (segment <= 9) {
|
|
192
|
-
if (result) result += ' '
|
|
193
|
-
result += THOUSANDS_SPECIAL[segment]
|
|
194
|
-
} else {
|
|
195
|
-
const segmentWord = buildScaleSegment(segment, andWord)
|
|
196
|
-
if (result) result += ' '
|
|
197
|
-
result += segmentWord + ' ' + SCALE[1]
|
|
198
|
-
}
|
|
199
|
-
} else {
|
|
200
|
-
// Millions and above
|
|
201
|
-
if (segment === 1) {
|
|
202
|
-
if (result) result += ' '
|
|
203
|
-
result += SCALE[i]
|
|
204
|
-
} else {
|
|
205
|
-
const segmentWord = buildScaleSegment(segment, andWord)
|
|
206
|
-
if (result) result += ' '
|
|
207
|
-
result += segmentWord + ' ' + SCALE_PLURAL[i]
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return result
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Converts decimal digits to Hebrew words (digit by digit).
|
|
217
|
-
*
|
|
218
|
-
* @param {string} decimalPart - Decimal digits (without the point)
|
|
219
|
-
* @returns {string} Hebrew words for decimal part
|
|
220
|
-
*/
|
|
221
|
-
function decimalPartToWords (decimalPart) {
|
|
222
|
-
let result = ''
|
|
223
|
-
|
|
224
|
-
for (let i = 0; i < decimalPart.length; i++) {
|
|
225
|
-
const d = parseInt(decimalPart[i], 10)
|
|
226
|
-
if (result) result += ' '
|
|
227
|
-
result += d === 0 ? ZERO : ONES[d]
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
return result
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Converts a numeric value to Modern Hebrew words.
|
|
235
|
-
*
|
|
236
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
237
|
-
* @param {Object} [options] - Optional configuration
|
|
238
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
239
|
-
* @param {string} [options.andWord] - Custom conjunction word
|
|
240
|
-
* @returns {string} The number in Modern Hebrew words
|
|
241
|
-
*/
|
|
242
|
-
function toWords (value, options) {
|
|
243
|
-
options = validateOptions(options)
|
|
244
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
245
|
-
|
|
246
|
-
let result = ''
|
|
247
|
-
|
|
248
|
-
if (isNegative) {
|
|
249
|
-
result = NEGATIVE + ' '
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
result += integerToWords(integerPart, options)
|
|
253
|
-
|
|
254
|
-
if (decimalPart) {
|
|
255
|
-
result += ' ' + DECIMAL_SEP + ' ' + decimalPartToWords(decimalPart)
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return result
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// ============================================================================
|
|
262
|
-
// Exports
|
|
263
|
-
// ============================================================================
|
|
264
|
-
|
|
265
|
-
export { toWords }
|
package/lib/languages/hi.d.ts
DELETED
package/lib/languages/hr.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Croatian words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @param {Object} [options] - Optional configuration
|
|
6
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
7
|
-
* @returns {string} The number in Croatian words
|
|
8
|
-
*/
|
|
9
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
10
|
-
gender?: "masculine" | "feminine" | undefined;
|
|
11
|
-
}): string;
|