n2words 3.0.0 → 4.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 +59 -0
- 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-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 +47 -82
- 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/src/bn-BD.js +270 -0
- package/src/cs-CZ.d.ts +49 -0
- package/{lib/languages/cs.js → src/cs-CZ.js} +249 -40
- package/src/da-DK.d.ts +44 -0
- package/{lib/languages/da.js → src/da-DK.js} +136 -23
- 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/src/en-NZ.js +375 -0
- 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} +237 -47
- 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/src/fi-FI.js +379 -0
- package/src/fil-PH.d.ts +37 -0
- package/{lib/languages/fil.js → src/fil-PH.js} +149 -24
- package/src/fr-BE.d.ts +49 -0
- package/src/fr-BE.js +453 -0
- package/src/fr-FR.d.ts +63 -0
- package/{lib/languages/fr.js → src/fr-FR.js} +200 -47
- package/src/gu-IN.d.ts +35 -0
- package/src/gu-IN.js +259 -0
- package/src/ha-NG.d.ts +37 -0
- package/{lib/languages/ha.js → src/ha-NG.js} +110 -16
- package/src/hbo-IL.d.ts +39 -0
- package/{lib/languages/hbo.js → src/hbo-IL.js} +217 -43
- package/src/he-IL.d.ts +37 -0
- package/src/he-IL.js +537 -0
- package/src/hi-IN.d.ts +36 -0
- package/src/hi-IN.js +280 -0
- 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} +106 -20
- package/src/it-IT.d.ts +59 -0
- package/src/it-IT.js +506 -0
- package/src/ja-JP.d.ts +49 -0
- package/{lib/languages/ja.js → src/ja-JP.js} +119 -32
- package/src/ka-GE.d.ts +44 -0
- package/src/ka-GE.js +393 -0
- package/src/kn-IN.d.ts +35 -0
- package/{lib/languages/kn.js → src/kn-IN.js} +156 -34
- package/src/ko-KR.d.ts +45 -0
- package/{lib/languages/ko.js → src/ko-KR.js} +99 -24
- 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/src/mr-IN.js +260 -0
- package/src/ms-MY.d.ts +37 -0
- package/{lib/languages/ms.js → src/ms-MY.js} +118 -20
- package/src/nb-NO.d.ts +44 -0
- package/{lib/languages/nb.js → src/nb-NO.js} +165 -33
- package/src/nl-NL.d.ts +54 -0
- package/{lib/languages/nl.js → src/nl-NL.js} +271 -47
- package/src/pa-IN.d.ts +36 -0
- package/src/pa-IN.js +268 -0
- package/src/pl-PL.d.ts +55 -0
- package/src/pl-PL.js +585 -0
- package/src/pt-PT.d.ts +45 -0
- package/src/pt-PT.js +514 -0
- 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} +149 -34
- 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} +163 -47
- package/src/te-IN.d.ts +35 -0
- package/{lib/languages/te.js → src/te-IN.js} +147 -46
- 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/src/tr-TR.js +397 -0
- package/src/uk-UA.d.ts +42 -0
- package/src/uk-UA.js +463 -0
- package/src/ur-PK.d.ts +36 -0
- package/src/ur-PK.js +268 -0
- 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} +124 -53
- package/src/yo-NG.d.ts +37 -0
- package/src/yo-NG.js +403 -0
- 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/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/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 -164
- package/lib/languages/am.d.ts +0 -7
- package/lib/languages/am.js +0 -164
- package/lib/languages/ar.d.ts +0 -17
- package/lib/languages/az.d.ts +0 -7
- package/lib/languages/az.js +0 -176
- package/lib/languages/bn.d.ts +0 -7
- package/lib/languages/bn.js +0 -145
- 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 -332
- package/lib/languages/el.d.ts +0 -14
- package/lib/languages/el.js +0 -243
- package/lib/languages/en.d.ts +0 -17
- package/lib/languages/en.js +0 -256
- 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/fi.js +0 -245
- package/lib/languages/fil.d.ts +0 -7
- package/lib/languages/fr-BE.d.ts +0 -11
- package/lib/languages/fr-BE.js +0 -300
- package/lib/languages/fr.d.ts +0 -21
- package/lib/languages/gu.d.ts +0 -7
- package/lib/languages/gu.js +0 -137
- 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 -276
- package/lib/languages/hi.d.ts +0 -7
- package/lib/languages/hi.js +0 -145
- package/lib/languages/hr.d.ts +0 -11
- package/lib/languages/hr.js +0 -218
- 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/it.js +0 -377
- package/lib/languages/ja.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 -310
- package/lib/languages/lv.d.ts +0 -18
- package/lib/languages/lv.js +0 -321
- package/lib/languages/mr.d.ts +0 -7
- package/lib/languages/mr.js +0 -137
- 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/pa.js +0 -163
- package/lib/languages/pl.d.ts +0 -22
- package/lib/languages/pl.js +0 -330
- package/lib/languages/pt.d.ts +0 -17
- package/lib/languages/pt.js +0 -306
- package/lib/languages/ro.d.ts +0 -18
- package/lib/languages/ru.d.ts +0 -11
- package/lib/languages/ru.js +0 -240
- package/lib/languages/sr-Cyrl.d.ts +0 -11
- package/lib/languages/sr-Cyrl.js +0 -215
- package/lib/languages/sr-Latn.d.ts +0 -11
- package/lib/languages/sr-Latn.js +0 -215
- 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/tr.js +0 -263
- package/lib/languages/uk.d.ts +0 -11
- package/lib/languages/uk.js +0 -218
- package/lib/languages/ur.d.ts +0 -7
- package/lib/languages/ur.js +0 -163
- package/lib/languages/vi.d.ts +0 -17
- package/lib/languages/zh-Hans.d.ts +0 -11
- package/lib/languages/zh-Hant.d.ts +0 -11
- package/lib/n2words.d.ts +0 -53
- package/lib/n2words.js +0 -122
- 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/fr-BE.js
DELETED
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* French (Belgium) language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained converter with precomputed lookup tables.
|
|
5
|
-
*
|
|
6
|
-
* Belgian French differences from standard French:
|
|
7
|
-
* - septante (70) instead of soixante-dix
|
|
8
|
-
* - nonante (90) instead of quatre-vingt-dix
|
|
9
|
-
* - Keeps quatre-vingts (80) like standard French
|
|
10
|
-
* - Uses "septante et un" (71), "nonante et un" (91)
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
14
|
-
import { validateOptions } from '../utils/validate-options.js'
|
|
15
|
-
|
|
16
|
-
// ============================================================================
|
|
17
|
-
// Vocabulary
|
|
18
|
-
// ============================================================================
|
|
19
|
-
|
|
20
|
-
const ONES = ['', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf']
|
|
21
|
-
const TEENS = ['dix', 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize', 'dix-sept', 'dix-huit', 'dix-neuf']
|
|
22
|
-
const TENS = ['', '', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'septante', 'quatre-vingt', 'nonante']
|
|
23
|
-
|
|
24
|
-
// Scale words (long scale with -ard forms)
|
|
25
|
-
const SCALES = ['million', 'billion', 'trillion', 'quadrillion']
|
|
26
|
-
const SCALES_ARD = ['milliard', 'billiard', 'trilliard', 'quadrilliard']
|
|
27
|
-
|
|
28
|
-
const THOUSAND = 'mille'
|
|
29
|
-
const HUNDRED = 'cent'
|
|
30
|
-
const ZERO = 'zéro'
|
|
31
|
-
const NEGATIVE = 'moins'
|
|
32
|
-
const DECIMAL_SEP = 'virgule'
|
|
33
|
-
|
|
34
|
-
// ============================================================================
|
|
35
|
-
// Precomputed Lookup Tables
|
|
36
|
-
// ============================================================================
|
|
37
|
-
|
|
38
|
-
function buildSegment (n) {
|
|
39
|
-
if (n === 0) return { word: '', endsWithCents: false, endsWithVingts: false }
|
|
40
|
-
|
|
41
|
-
const tensOnes = n % 100
|
|
42
|
-
const hundreds = Math.floor(n / 100)
|
|
43
|
-
|
|
44
|
-
const parts = []
|
|
45
|
-
let endsWithCents = false
|
|
46
|
-
let endsWithVingts = false
|
|
47
|
-
|
|
48
|
-
// Hundreds
|
|
49
|
-
if (hundreds > 0) {
|
|
50
|
-
if (hundreds === 1) {
|
|
51
|
-
parts.push(HUNDRED)
|
|
52
|
-
} else {
|
|
53
|
-
if (tensOnes === 0) {
|
|
54
|
-
parts.push(ONES[hundreds] + ' ' + HUNDRED + 's')
|
|
55
|
-
endsWithCents = true
|
|
56
|
-
} else {
|
|
57
|
-
parts.push(ONES[hundreds] + ' ' + HUNDRED)
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Tens and ones - Belgian pattern
|
|
63
|
-
if (tensOnes === 0) {
|
|
64
|
-
// Just hundreds
|
|
65
|
-
} else if (tensOnes < 10) {
|
|
66
|
-
parts.push(ONES[tensOnes])
|
|
67
|
-
} else if (tensOnes < 17) {
|
|
68
|
-
parts.push(TEENS[tensOnes - 10])
|
|
69
|
-
} else if (tensOnes < 20) {
|
|
70
|
-
parts.push(TEENS[tensOnes - 10])
|
|
71
|
-
} else if (tensOnes < 70) {
|
|
72
|
-
// 20-69: standard pattern
|
|
73
|
-
const t = Math.floor(tensOnes / 10)
|
|
74
|
-
const o = tensOnes % 10
|
|
75
|
-
if (o === 0) {
|
|
76
|
-
parts.push(TENS[t])
|
|
77
|
-
} else if (o === 1) {
|
|
78
|
-
parts.push(TENS[t] + ' et ' + ONES[1])
|
|
79
|
-
} else {
|
|
80
|
-
parts.push(TENS[t] + '-' + ONES[o])
|
|
81
|
-
}
|
|
82
|
-
} else if (tensOnes < 80) {
|
|
83
|
-
// 70-79: septante pattern (Belgian)
|
|
84
|
-
const o = tensOnes % 10
|
|
85
|
-
if (o === 0) {
|
|
86
|
-
parts.push('septante')
|
|
87
|
-
} else if (o === 1) {
|
|
88
|
-
parts.push('septante et ' + ONES[1])
|
|
89
|
-
} else {
|
|
90
|
-
parts.push('septante-' + ONES[o])
|
|
91
|
-
}
|
|
92
|
-
} else if (tensOnes === 80) {
|
|
93
|
-
// 80: quatre-vingts (same as standard)
|
|
94
|
-
parts.push('quatre-vingts')
|
|
95
|
-
endsWithVingts = true
|
|
96
|
-
} else if (tensOnes < 90) {
|
|
97
|
-
// 81-89: quatre-vingt-X (same as standard)
|
|
98
|
-
const remainder = tensOnes - 80
|
|
99
|
-
parts.push('quatre-vingt-' + ONES[remainder])
|
|
100
|
-
} else {
|
|
101
|
-
// 90-99: nonante pattern (Belgian)
|
|
102
|
-
const o = tensOnes % 10
|
|
103
|
-
if (o === 0) {
|
|
104
|
-
parts.push('nonante')
|
|
105
|
-
} else if (o === 1) {
|
|
106
|
-
parts.push('nonante et ' + ONES[1])
|
|
107
|
-
} else {
|
|
108
|
-
parts.push('nonante-' + ONES[o])
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return { word: parts.join(' '), endsWithCents, endsWithVingts }
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Precompute all 1000 segment words
|
|
116
|
-
const SEGMENTS = new Array(1000)
|
|
117
|
-
const SEGMENTS_ENDS_CENTS = new Array(1000)
|
|
118
|
-
const SEGMENTS_ENDS_VINGTS = new Array(1000)
|
|
119
|
-
|
|
120
|
-
for (let i = 0; i < 1000; i++) {
|
|
121
|
-
const result = buildSegment(i)
|
|
122
|
-
SEGMENTS[i] = result.word
|
|
123
|
-
SEGMENTS_ENDS_CENTS[i] = result.endsWithCents
|
|
124
|
-
SEGMENTS_ENDS_VINGTS[i] = result.endsWithVingts
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// ============================================================================
|
|
128
|
-
// Helper Functions
|
|
129
|
-
// ============================================================================
|
|
130
|
-
|
|
131
|
-
function getScaleWord (scaleIndex, segment) {
|
|
132
|
-
if (scaleIndex === 1) return THOUSAND
|
|
133
|
-
|
|
134
|
-
if (scaleIndex % 2 === 0) {
|
|
135
|
-
const arrayIndex = (scaleIndex / 2) - 1
|
|
136
|
-
const baseWord = SCALES[arrayIndex]
|
|
137
|
-
if (!baseWord) return ''
|
|
138
|
-
return segment > 1n ? baseWord + 's' : baseWord
|
|
139
|
-
} else {
|
|
140
|
-
const arrayIndex = ((scaleIndex - 1) / 2) - 1
|
|
141
|
-
const ardWord = SCALES_ARD[arrayIndex]
|
|
142
|
-
if (!ardWord) return THOUSAND
|
|
143
|
-
return segment > 1n ? ardWord + 's' : ardWord
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// ============================================================================
|
|
148
|
-
// Conversion Functions
|
|
149
|
-
// ============================================================================
|
|
150
|
-
|
|
151
|
-
function integerToWords (n, withHyphen = false) {
|
|
152
|
-
if (n === 0n) return ZERO
|
|
153
|
-
|
|
154
|
-
if (n < 1000n) {
|
|
155
|
-
const word = SEGMENTS[Number(n)]
|
|
156
|
-
return withHyphen ? word.replace(/ /g, '-') : word
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if (n < 1_000_000n) {
|
|
160
|
-
const thousands = Number(n / 1000n)
|
|
161
|
-
const remainder = Number(n % 1000n)
|
|
162
|
-
|
|
163
|
-
let result
|
|
164
|
-
if (thousands === 1) {
|
|
165
|
-
result = THOUSAND
|
|
166
|
-
} else {
|
|
167
|
-
let thousandsWord = SEGMENTS[thousands]
|
|
168
|
-
if (SEGMENTS_ENDS_CENTS[thousands] || SEGMENTS_ENDS_VINGTS[thousands]) {
|
|
169
|
-
thousandsWord = thousandsWord.slice(0, -1)
|
|
170
|
-
}
|
|
171
|
-
result = thousandsWord + (withHyphen ? '-' : ' ') + THOUSAND
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if (remainder > 0) {
|
|
175
|
-
result += (withHyphen ? '-' : ' ') + SEGMENTS[remainder]
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (withHyphen) {
|
|
179
|
-
result = result.replace(/ /g, '-')
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return result
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return buildLargeNumberWords(n, withHyphen)
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
function buildLargeNumberWords (n, withHyphen) {
|
|
189
|
-
const numStr = n.toString()
|
|
190
|
-
const len = numStr.length
|
|
191
|
-
|
|
192
|
-
const segments = []
|
|
193
|
-
const segmentSize = 3
|
|
194
|
-
|
|
195
|
-
const remainderLen = len % segmentSize
|
|
196
|
-
let pos = 0
|
|
197
|
-
if (remainderLen > 0) {
|
|
198
|
-
segments.push(Number(numStr.slice(0, remainderLen)))
|
|
199
|
-
pos = remainderLen
|
|
200
|
-
}
|
|
201
|
-
while (pos < len) {
|
|
202
|
-
segments.push(Number(numStr.slice(pos, pos + segmentSize)))
|
|
203
|
-
pos += segmentSize
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
const parts = []
|
|
207
|
-
let scaleIndex = segments.length - 1
|
|
208
|
-
|
|
209
|
-
for (let i = 0; i < segments.length; i++) {
|
|
210
|
-
const segment = segments[i]
|
|
211
|
-
|
|
212
|
-
if (segment !== 0) {
|
|
213
|
-
const scaleWord = scaleIndex > 0 ? getScaleWord(scaleIndex, BigInt(segment)) : ''
|
|
214
|
-
|
|
215
|
-
if (scaleIndex === 0) {
|
|
216
|
-
parts.push(SEGMENTS[segment])
|
|
217
|
-
} else if (scaleIndex === 1) {
|
|
218
|
-
if (segment === 1) {
|
|
219
|
-
parts.push(THOUSAND)
|
|
220
|
-
} else {
|
|
221
|
-
let segWords = SEGMENTS[segment]
|
|
222
|
-
if (SEGMENTS_ENDS_CENTS[segment] || SEGMENTS_ENDS_VINGTS[segment]) {
|
|
223
|
-
segWords = segWords.slice(0, -1)
|
|
224
|
-
}
|
|
225
|
-
parts.push(segWords)
|
|
226
|
-
parts.push(scaleWord)
|
|
227
|
-
}
|
|
228
|
-
} else {
|
|
229
|
-
parts.push(SEGMENTS[segment])
|
|
230
|
-
parts.push(scaleWord)
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
scaleIndex--
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
const sep = withHyphen ? '-' : ' '
|
|
238
|
-
let result = parts.join(sep)
|
|
239
|
-
|
|
240
|
-
if (withHyphen) {
|
|
241
|
-
result = result.replace(/ /g, '-')
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
return result
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
function decimalPartToWords (decimalPart, withHyphen) {
|
|
248
|
-
let result = ''
|
|
249
|
-
const sep = withHyphen ? '-' : ' '
|
|
250
|
-
|
|
251
|
-
let i = 0
|
|
252
|
-
while (i < decimalPart.length && decimalPart[i] === '0') {
|
|
253
|
-
if (result) result += sep
|
|
254
|
-
result += ZERO
|
|
255
|
-
i++
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
const remainder = decimalPart.slice(i)
|
|
259
|
-
if (remainder) {
|
|
260
|
-
if (result) result += sep
|
|
261
|
-
result += integerToWords(BigInt(remainder), withHyphen)
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
return result
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Converts a numeric value to Belgian French words.
|
|
269
|
-
*
|
|
270
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
271
|
-
* @param {Object} [options] - Optional configuration
|
|
272
|
-
* @param {boolean} [options.withHyphenSeparator=false] - Use hyphens between words
|
|
273
|
-
* @returns {string} The number in Belgian French words
|
|
274
|
-
*/
|
|
275
|
-
function toWords (value, options) {
|
|
276
|
-
options = validateOptions(options)
|
|
277
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
278
|
-
const withHyphen = options.withHyphenSeparator || false
|
|
279
|
-
|
|
280
|
-
let result = ''
|
|
281
|
-
const sep = withHyphen ? '-' : ' '
|
|
282
|
-
|
|
283
|
-
if (isNegative) {
|
|
284
|
-
result = NEGATIVE + sep
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
result += integerToWords(integerPart, withHyphen)
|
|
288
|
-
|
|
289
|
-
if (decimalPart) {
|
|
290
|
-
result += sep + DECIMAL_SEP + sep + decimalPartToWords(decimalPart, withHyphen)
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
return result
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
// ============================================================================
|
|
297
|
-
// Exports
|
|
298
|
-
// ============================================================================
|
|
299
|
-
|
|
300
|
-
export { toWords }
|
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/gu.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gujarati language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained converter for South Asian numbering.
|
|
5
|
-
*
|
|
6
|
-
* Key features:
|
|
7
|
-
* - Indian numbering system (હજાર, લાખ, કરોડ)
|
|
8
|
-
* - Gujarati script
|
|
9
|
-
* - 3-2-2 grouping pattern (last 3 digits, then groups of 2)
|
|
10
|
-
* - Complete word forms for 0-99
|
|
11
|
-
* - Per-digit decimal reading
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
15
|
-
|
|
16
|
-
// ============================================================================
|
|
17
|
-
// Vocabulary
|
|
18
|
-
// ============================================================================
|
|
19
|
-
|
|
20
|
-
const ZERO = 'શૂન્ય'
|
|
21
|
-
const NEGATIVE = 'ઋણ'
|
|
22
|
-
const DECIMAL_SEP = 'દશાંશ'
|
|
23
|
-
const HUNDRED = 'સો'
|
|
24
|
-
|
|
25
|
-
const BELOW_HUNDRED = [
|
|
26
|
-
'શૂન્ય', 'એક', 'બે', 'ત્રણ', 'ચાર', 'પાંચ', 'છ', 'સાત', 'આઠ', 'નવ',
|
|
27
|
-
'દસ', 'અગિયાર', 'બાર', 'તેર', 'ચૌદ', 'પંદર', 'સોળ', 'સત્તર', 'અઢાર', 'ઓગણીસ',
|
|
28
|
-
'વીસ', 'એકવીસ', 'બાવીસ', 'ત્રેવીસ', 'ચોવીસ', 'પચીસ', 'છવ્વીસ', 'સત્તાવીસ', 'અઠ્ઠાવીસ', 'ઓગણત્રીસ',
|
|
29
|
-
'ત્રીસ', 'એકત્રીસ', 'બત્રીસ', 'તેત્રીસ', 'ચોત્રીસ', 'પાંત્રીસ', 'છત્રીસ', 'સાડત્રીસ', 'અડત્રીસ', 'ઓગણચાલીસ',
|
|
30
|
-
'ચાલીસ', 'એકતાલીસ', 'બેતાળીસ', 'ત્રેતાળીસ', 'ચુંમાલીસ', 'પિસ્તાલીસ', 'છેતાળીસ', 'સુડતાળીસ', 'અડતાળીસ', 'ઓગણપચાસ',
|
|
31
|
-
'પચાસ', 'એકાવન', 'બાવન', 'ત્રેપન', 'ચોપન', 'પંચાવન', 'છપ્પન', 'સત્તાવન', 'અઠ્ઠાવન', 'ઓગણસાઠ',
|
|
32
|
-
'સાઠ', 'એકસઠ', 'બાસઠ', 'ત્રેસઠ', 'ચોસઠ', 'પાંસઠ', 'છાસઠ', 'સડસઠ', 'અડસઠ', 'અગણોસિત્તેર',
|
|
33
|
-
'સિત્તેર', 'એકોતેર', 'બોતેર', 'તોતેર', 'ચુમોતેર', 'પંચોતેર', 'છોતેર', 'સિત્યોતેર', 'ઇઠ્યોતેર', 'ઓગણાએંસી',
|
|
34
|
-
'એંસી', 'એક્યાસી', 'બ્યાસી', 'ત્યાસી', 'ચોર્યાસી', 'પંચાસી', 'છ્યાસી', 'સિત્યાસી', 'અઠ્યાસી', 'નેવ્યાસી',
|
|
35
|
-
'નેવું', 'એકાણું', 'બાણું', 'ત્રાણું', 'ચોરાણું', 'પંચાણું', 'છન્નું', 'સત્તાણું', 'અઠ્ઠાણું', 'નવ્વાણું'
|
|
36
|
-
]
|
|
37
|
-
|
|
38
|
-
// Scale words: index 0 = units (empty), 1 = thousand, 2 = lakh, 3 = crore, etc.
|
|
39
|
-
const SCALE_WORDS = ['', 'હજાર', 'લાખ', 'કરોડ', 'અબજ', 'ખરબ', 'નીલ', 'પદ્મ', 'શંખ']
|
|
40
|
-
|
|
41
|
-
// ============================================================================
|
|
42
|
-
// Segment Splitting (inlined for performance)
|
|
43
|
-
// ============================================================================
|
|
44
|
-
|
|
45
|
-
function groupByThreeThenTwos (n) {
|
|
46
|
-
const numStr = n.toString()
|
|
47
|
-
if (numStr.length <= 3) return [Number(numStr)]
|
|
48
|
-
|
|
49
|
-
const segments = []
|
|
50
|
-
segments.unshift(Number(numStr.slice(-3)))
|
|
51
|
-
|
|
52
|
-
let remaining = numStr.slice(0, -3)
|
|
53
|
-
while (remaining.length > 0) {
|
|
54
|
-
segments.unshift(Number(remaining.slice(-2)))
|
|
55
|
-
remaining = remaining.slice(0, -2)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return segments
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function segmentToWords (n) {
|
|
62
|
-
if (n === 0) return ''
|
|
63
|
-
if (n < 100) return BELOW_HUNDRED[n]
|
|
64
|
-
|
|
65
|
-
const hundreds = Math.trunc(n / 100)
|
|
66
|
-
const remainder = n % 100
|
|
67
|
-
|
|
68
|
-
if (remainder === 0) {
|
|
69
|
-
return BELOW_HUNDRED[hundreds] + ' ' + HUNDRED
|
|
70
|
-
}
|
|
71
|
-
return BELOW_HUNDRED[hundreds] + ' ' + HUNDRED + ' ' + BELOW_HUNDRED[remainder]
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// ============================================================================
|
|
75
|
-
// Conversion Functions
|
|
76
|
-
// ============================================================================
|
|
77
|
-
|
|
78
|
-
function integerToWords (n) {
|
|
79
|
-
if (n === 0n) return ZERO
|
|
80
|
-
|
|
81
|
-
const segments = groupByThreeThenTwos(n)
|
|
82
|
-
const segmentCount = segments.length
|
|
83
|
-
const words = []
|
|
84
|
-
|
|
85
|
-
for (let i = 0; i < segmentCount; i++) {
|
|
86
|
-
const segmentValue = segments[i]
|
|
87
|
-
if (segmentValue === 0) continue
|
|
88
|
-
|
|
89
|
-
const scaleIndex = segmentCount - i - 1
|
|
90
|
-
words.push(segmentToWords(segmentValue))
|
|
91
|
-
if (scaleIndex > 0 && SCALE_WORDS[scaleIndex]) {
|
|
92
|
-
words.push(SCALE_WORDS[scaleIndex])
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return words.join(' ').trim()
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
function decimalPartToWords (decimalPart) {
|
|
100
|
-
// Per-digit decimal reading
|
|
101
|
-
const digits = []
|
|
102
|
-
for (const char of decimalPart) {
|
|
103
|
-
const d = parseInt(char, 10)
|
|
104
|
-
digits.push(d === 0 ? ZERO : BELOW_HUNDRED[d])
|
|
105
|
-
}
|
|
106
|
-
return digits.join(' ')
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Converts a numeric value to Gujarati words.
|
|
111
|
-
*
|
|
112
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
113
|
-
* @returns {string} The number in Gujarati words
|
|
114
|
-
*/
|
|
115
|
-
function toWords (value) {
|
|
116
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
117
|
-
|
|
118
|
-
let result = ''
|
|
119
|
-
|
|
120
|
-
if (isNegative) {
|
|
121
|
-
result = NEGATIVE + ' '
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
result += integerToWords(integerPart)
|
|
125
|
-
|
|
126
|
-
if (decimalPart) {
|
|
127
|
-
result += ' ' + DECIMAL_SEP + ' ' + decimalPartToWords(decimalPart)
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return result
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// ============================================================================
|
|
134
|
-
// Exports
|
|
135
|
-
// ============================================================================
|
|
136
|
-
|
|
137
|
-
export { toWords }
|
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;
|