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/sr-Cyrl.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serbian Cyrillic language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained module with its own input validation, ready for subpath exports.
|
|
5
|
-
*
|
|
6
|
-
* Key features:
|
|
7
|
-
* - Three-form pluralization (one/few/many)
|
|
8
|
-
* - Gender: thousands are feminine, millions+ are masculine
|
|
9
|
-
* - Irregular hundreds
|
|
10
|
-
* - Long scale naming with -ard forms
|
|
11
|
-
* - Cyrillic script
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
15
|
-
import { validateOptions } from '../utils/validate-options.js'
|
|
16
|
-
|
|
17
|
-
// ============================================================================
|
|
18
|
-
// Vocabulary
|
|
19
|
-
// ============================================================================
|
|
20
|
-
|
|
21
|
-
const ONES_MASC = ['', 'један', 'два', 'три', 'четири', 'пет', 'шест', 'седам', 'осам', 'девет']
|
|
22
|
-
const ONES_FEM = ['', 'једна', 'две', 'три', 'четири', 'пет', 'шест', 'седам', 'осам', 'девет']
|
|
23
|
-
const TEENS = ['десет', 'једанаест', 'дванаест', 'тринаест', 'четрнаест', 'петнаест', 'шеснаест', 'седамнаест', 'осамнаест', 'деветнаест']
|
|
24
|
-
const TENS = ['', '', 'двадесет', 'тридесет', 'четрдесет', 'педесет', 'шездесет', 'седамдесет', 'осамдесет', 'деведесет']
|
|
25
|
-
const HUNDREDS = ['', 'сто', 'двеста', 'триста', 'четиристо', 'петсто', 'шесто', 'седамсто', 'осамсто', 'девестo']
|
|
26
|
-
|
|
27
|
-
const ZERO = 'нула'
|
|
28
|
-
const NEGATIVE = 'минус'
|
|
29
|
-
const DECIMAL_SEP = 'запета'
|
|
30
|
-
|
|
31
|
-
// Scale words: [singular, few, many]
|
|
32
|
-
const SCALE_FORMS = [
|
|
33
|
-
['хиљада', 'хиљаде', 'хиљада'],
|
|
34
|
-
['милион', 'милиона', 'милиона'],
|
|
35
|
-
['милијарда', 'милијарде', 'милијарда'],
|
|
36
|
-
['билион', 'билиона', 'билиона'],
|
|
37
|
-
['билијарда', 'билијарде', 'билијарда'],
|
|
38
|
-
['трилион', 'трилиона', 'трилиона'],
|
|
39
|
-
['трилијарда', 'трилијарде', 'трилијарда'],
|
|
40
|
-
['квадрилион', 'квадрилиона', 'квадрилиона'],
|
|
41
|
-
['квадрилијарда', 'квадрилијарде', 'квадрилијарда']
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// Segment Building
|
|
46
|
-
// ============================================================================
|
|
47
|
-
|
|
48
|
-
function pluralize (n, forms) {
|
|
49
|
-
const num = typeof n === 'bigint' ? Number(n) : n
|
|
50
|
-
const lastDigit = num % 10
|
|
51
|
-
const lastTwoDigits = num % 100
|
|
52
|
-
|
|
53
|
-
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
|
|
54
|
-
return forms[2]
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (lastDigit === 1) return forms[0]
|
|
58
|
-
if (lastDigit >= 2 && lastDigit <= 4) return forms[1]
|
|
59
|
-
return forms[2]
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function buildSegmentMasc (n) {
|
|
63
|
-
if (n === 0) return ''
|
|
64
|
-
|
|
65
|
-
const onesDigit = n % 10
|
|
66
|
-
const tensDigit = Math.floor(n / 10) % 10
|
|
67
|
-
const hundredsDigit = Math.floor(n / 100)
|
|
68
|
-
|
|
69
|
-
const parts = []
|
|
70
|
-
|
|
71
|
-
if (hundredsDigit > 0) {
|
|
72
|
-
parts.push(HUNDREDS[hundredsDigit])
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (tensDigit > 1) {
|
|
76
|
-
parts.push(TENS[tensDigit])
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (tensDigit === 1) {
|
|
80
|
-
parts.push(TEENS[onesDigit])
|
|
81
|
-
} else if (onesDigit > 0) {
|
|
82
|
-
parts.push(ONES_MASC[onesDigit])
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return parts.join(' ')
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function buildSegmentFem (n) {
|
|
89
|
-
if (n === 0) return ''
|
|
90
|
-
|
|
91
|
-
const onesDigit = n % 10
|
|
92
|
-
const tensDigit = Math.floor(n / 10) % 10
|
|
93
|
-
const hundredsDigit = Math.floor(n / 100)
|
|
94
|
-
|
|
95
|
-
const parts = []
|
|
96
|
-
|
|
97
|
-
if (hundredsDigit > 0) {
|
|
98
|
-
parts.push(HUNDREDS[hundredsDigit])
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (tensDigit > 1) {
|
|
102
|
-
parts.push(TENS[tensDigit])
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (tensDigit === 1) {
|
|
106
|
-
parts.push(TEENS[onesDigit])
|
|
107
|
-
} else if (onesDigit > 0) {
|
|
108
|
-
parts.push(ONES_FEM[onesDigit])
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return parts.join(' ')
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// ============================================================================
|
|
115
|
-
// Conversion Functions
|
|
116
|
-
// ============================================================================
|
|
117
|
-
|
|
118
|
-
function integerToWords (n, options = {}) {
|
|
119
|
-
if (n === 0n) return ZERO
|
|
120
|
-
|
|
121
|
-
if (n < 1000n) {
|
|
122
|
-
return options.gender === 'feminine' ? buildSegmentFem(Number(n)) : buildSegmentMasc(Number(n))
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return buildLargeNumberWords(n, options)
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function buildLargeNumberWords (n, options) {
|
|
129
|
-
const numStr = n.toString()
|
|
130
|
-
const len = numStr.length
|
|
131
|
-
|
|
132
|
-
const segments = []
|
|
133
|
-
const segmentSize = 3
|
|
134
|
-
|
|
135
|
-
const remainderLen = len % segmentSize
|
|
136
|
-
let pos = 0
|
|
137
|
-
if (remainderLen > 0) {
|
|
138
|
-
segments.push(Number(numStr.slice(0, remainderLen)))
|
|
139
|
-
pos = remainderLen
|
|
140
|
-
}
|
|
141
|
-
while (pos < len) {
|
|
142
|
-
segments.push(Number(numStr.slice(pos, pos + segmentSize)))
|
|
143
|
-
pos += segmentSize
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const parts = []
|
|
147
|
-
let scaleIndex = segments.length - 1
|
|
148
|
-
|
|
149
|
-
for (let i = 0; i < segments.length; i++) {
|
|
150
|
-
const segment = segments[i]
|
|
151
|
-
|
|
152
|
-
if (segment !== 0) {
|
|
153
|
-
if (scaleIndex === 0) {
|
|
154
|
-
parts.push(options.gender === 'feminine' ? buildSegmentFem(segment) : buildSegmentMasc(segment))
|
|
155
|
-
} else {
|
|
156
|
-
const scaleForms = SCALE_FORMS[scaleIndex - 1]
|
|
157
|
-
const scaleWord = pluralize(segment, scaleForms)
|
|
158
|
-
// Thousands (scaleIndex=1) are feminine, others masculine
|
|
159
|
-
const isFeminine = scaleIndex === 1
|
|
160
|
-
const segmentWord = isFeminine ? buildSegmentFem(segment) : buildSegmentMasc(segment)
|
|
161
|
-
parts.push(segmentWord + ' ' + scaleWord)
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
scaleIndex--
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return parts.join(' ')
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function decimalPartToWords (decimalPart, options) {
|
|
172
|
-
let result = ''
|
|
173
|
-
let i = 0
|
|
174
|
-
|
|
175
|
-
while (i < decimalPart.length && decimalPart[i] === '0') {
|
|
176
|
-
if (result) result += ' '
|
|
177
|
-
result += ZERO
|
|
178
|
-
i++
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const remainder = decimalPart.slice(i)
|
|
182
|
-
if (remainder) {
|
|
183
|
-
if (result) result += ' '
|
|
184
|
-
result += integerToWords(BigInt(remainder), options)
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return result
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Converts a numeric value to Serbian (Cyrillic) words.
|
|
192
|
-
*
|
|
193
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
194
|
-
* @param {Object} [options] - Optional configuration
|
|
195
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
196
|
-
* @returns {string} The number in Serbian Cyrillic words
|
|
197
|
-
*/
|
|
198
|
-
function toWords (value, options) {
|
|
199
|
-
options = validateOptions(options)
|
|
200
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
201
|
-
|
|
202
|
-
let result = ''
|
|
203
|
-
|
|
204
|
-
if (isNegative) {
|
|
205
|
-
result = NEGATIVE + ' '
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
result += integerToWords(integerPart, options)
|
|
209
|
-
|
|
210
|
-
if (decimalPart) {
|
|
211
|
-
result += ' ' + DECIMAL_SEP + ' ' + decimalPartToWords(decimalPart, options)
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return result
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// ============================================================================
|
|
218
|
-
// Exports
|
|
219
|
-
// ============================================================================
|
|
220
|
-
|
|
221
|
-
export { toWords }
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Serbian (Latin) 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 Serbian Latin words
|
|
8
|
-
*/
|
|
9
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
10
|
-
gender?: "masculine" | "feminine" | undefined;
|
|
11
|
-
}): string;
|
package/lib/languages/sr-Latn.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serbian Latin language converter - Functional Implementation
|
|
3
|
-
*
|
|
4
|
-
* Self-contained module with its own input validation, ready for subpath exports.
|
|
5
|
-
*
|
|
6
|
-
* Key features:
|
|
7
|
-
* - Three-form pluralization (one/few/many)
|
|
8
|
-
* - Gender: thousands are feminine, millions+ are masculine
|
|
9
|
-
* - Irregular hundreds (dvesta, trista, etc.)
|
|
10
|
-
* - Long scale naming with -ard forms
|
|
11
|
-
* - Latin script
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { parseNumericValue } from '../utils/parse-numeric.js'
|
|
15
|
-
import { validateOptions } from '../utils/validate-options.js'
|
|
16
|
-
|
|
17
|
-
// ============================================================================
|
|
18
|
-
// Vocabulary
|
|
19
|
-
// ============================================================================
|
|
20
|
-
|
|
21
|
-
const ONES_MASC = ['', 'jedan', 'dva', 'tri', 'četiri', 'pet', 'šest', 'sedam', 'osam', 'devet']
|
|
22
|
-
const ONES_FEM = ['', 'jedna', 'dve', 'tri', 'četiri', 'pet', 'šest', 'sedam', 'osam', 'devet']
|
|
23
|
-
const TEENS = ['deset', 'jedanaest', 'dvanaest', 'trinaest', 'četrnaest', 'petnaest', 'šesnaest', 'sedamnaest', 'osamnaest', 'devetnaest']
|
|
24
|
-
const TENS = ['', '', 'dvadeset', 'trideset', 'četrdeset', 'pedeset', 'šezdeset', 'sedamdeset', 'osamdeset', 'devedeset']
|
|
25
|
-
const HUNDREDS = ['', 'sto', 'dvesta', 'trista', 'četiristo', 'petsto', 'šesto', 'sedamsto', 'osamsto', 'devetsto']
|
|
26
|
-
|
|
27
|
-
const ZERO = 'nula'
|
|
28
|
-
const NEGATIVE = 'minus'
|
|
29
|
-
const DECIMAL_SEP = 'zapeta'
|
|
30
|
-
|
|
31
|
-
// Scale words: [singular, few, many]
|
|
32
|
-
const SCALE_FORMS = [
|
|
33
|
-
['hiljada', 'hiljade', 'hiljada'],
|
|
34
|
-
['milion', 'miliona', 'miliona'],
|
|
35
|
-
['milijarda', 'milijarde', 'milijarda'],
|
|
36
|
-
['bilion', 'biliona', 'biliona'],
|
|
37
|
-
['bilijarda', 'bilijarde', 'bilijarda'],
|
|
38
|
-
['trilion', 'triliona', 'triliona'],
|
|
39
|
-
['trilijarda', 'trilijarde', 'trilijarda'],
|
|
40
|
-
['kvadrilion', 'kvadriliona', 'kvadriliona'],
|
|
41
|
-
['kvadrilijarda', 'kvadrilijarde', 'kvadrilijarda']
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// Segment Building
|
|
46
|
-
// ============================================================================
|
|
47
|
-
|
|
48
|
-
function pluralize (n, forms) {
|
|
49
|
-
const num = typeof n === 'bigint' ? Number(n) : n
|
|
50
|
-
const lastDigit = num % 10
|
|
51
|
-
const lastTwoDigits = num % 100
|
|
52
|
-
|
|
53
|
-
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
|
|
54
|
-
return forms[2]
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (lastDigit === 1) return forms[0]
|
|
58
|
-
if (lastDigit >= 2 && lastDigit <= 4) return forms[1]
|
|
59
|
-
return forms[2]
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function buildSegmentMasc (n) {
|
|
63
|
-
if (n === 0) return ''
|
|
64
|
-
|
|
65
|
-
const onesDigit = n % 10
|
|
66
|
-
const tensDigit = Math.floor(n / 10) % 10
|
|
67
|
-
const hundredsDigit = Math.floor(n / 100)
|
|
68
|
-
|
|
69
|
-
const parts = []
|
|
70
|
-
|
|
71
|
-
if (hundredsDigit > 0) {
|
|
72
|
-
parts.push(HUNDREDS[hundredsDigit])
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (tensDigit > 1) {
|
|
76
|
-
parts.push(TENS[tensDigit])
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (tensDigit === 1) {
|
|
80
|
-
parts.push(TEENS[onesDigit])
|
|
81
|
-
} else if (onesDigit > 0) {
|
|
82
|
-
parts.push(ONES_MASC[onesDigit])
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return parts.join(' ')
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function buildSegmentFem (n) {
|
|
89
|
-
if (n === 0) return ''
|
|
90
|
-
|
|
91
|
-
const onesDigit = n % 10
|
|
92
|
-
const tensDigit = Math.floor(n / 10) % 10
|
|
93
|
-
const hundredsDigit = Math.floor(n / 100)
|
|
94
|
-
|
|
95
|
-
const parts = []
|
|
96
|
-
|
|
97
|
-
if (hundredsDigit > 0) {
|
|
98
|
-
parts.push(HUNDREDS[hundredsDigit])
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (tensDigit > 1) {
|
|
102
|
-
parts.push(TENS[tensDigit])
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (tensDigit === 1) {
|
|
106
|
-
parts.push(TEENS[onesDigit])
|
|
107
|
-
} else if (onesDigit > 0) {
|
|
108
|
-
parts.push(ONES_FEM[onesDigit])
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return parts.join(' ')
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// ============================================================================
|
|
115
|
-
// Conversion Functions
|
|
116
|
-
// ============================================================================
|
|
117
|
-
|
|
118
|
-
function integerToWords (n, options = {}) {
|
|
119
|
-
if (n === 0n) return ZERO
|
|
120
|
-
|
|
121
|
-
if (n < 1000n) {
|
|
122
|
-
return options.gender === 'feminine' ? buildSegmentFem(Number(n)) : buildSegmentMasc(Number(n))
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
return buildLargeNumberWords(n, options)
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function buildLargeNumberWords (n, options) {
|
|
129
|
-
const numStr = n.toString()
|
|
130
|
-
const len = numStr.length
|
|
131
|
-
|
|
132
|
-
const segments = []
|
|
133
|
-
const segmentSize = 3
|
|
134
|
-
|
|
135
|
-
const remainderLen = len % segmentSize
|
|
136
|
-
let pos = 0
|
|
137
|
-
if (remainderLen > 0) {
|
|
138
|
-
segments.push(Number(numStr.slice(0, remainderLen)))
|
|
139
|
-
pos = remainderLen
|
|
140
|
-
}
|
|
141
|
-
while (pos < len) {
|
|
142
|
-
segments.push(Number(numStr.slice(pos, pos + segmentSize)))
|
|
143
|
-
pos += segmentSize
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const parts = []
|
|
147
|
-
let scaleIndex = segments.length - 1
|
|
148
|
-
|
|
149
|
-
for (let i = 0; i < segments.length; i++) {
|
|
150
|
-
const segment = segments[i]
|
|
151
|
-
|
|
152
|
-
if (segment !== 0) {
|
|
153
|
-
if (scaleIndex === 0) {
|
|
154
|
-
parts.push(options.gender === 'feminine' ? buildSegmentFem(segment) : buildSegmentMasc(segment))
|
|
155
|
-
} else {
|
|
156
|
-
const scaleForms = SCALE_FORMS[scaleIndex - 1]
|
|
157
|
-
const scaleWord = pluralize(segment, scaleForms)
|
|
158
|
-
// Thousands (scaleIndex=1) are feminine, others masculine
|
|
159
|
-
const isFeminine = scaleIndex === 1
|
|
160
|
-
const segmentWord = isFeminine ? buildSegmentFem(segment) : buildSegmentMasc(segment)
|
|
161
|
-
parts.push(segmentWord + ' ' + scaleWord)
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
scaleIndex--
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return parts.join(' ')
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function decimalPartToWords (decimalPart, options) {
|
|
172
|
-
let result = ''
|
|
173
|
-
let i = 0
|
|
174
|
-
|
|
175
|
-
while (i < decimalPart.length && decimalPart[i] === '0') {
|
|
176
|
-
if (result) result += ' '
|
|
177
|
-
result += ZERO
|
|
178
|
-
i++
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const remainder = decimalPart.slice(i)
|
|
182
|
-
if (remainder) {
|
|
183
|
-
if (result) result += ' '
|
|
184
|
-
result += integerToWords(BigInt(remainder), options)
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return result
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Converts a numeric value to Serbian (Latin) words.
|
|
192
|
-
*
|
|
193
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
194
|
-
* @param {Object} [options] - Optional configuration
|
|
195
|
-
* @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender
|
|
196
|
-
* @returns {string} The number in Serbian Latin words
|
|
197
|
-
*/
|
|
198
|
-
function toWords (value, options) {
|
|
199
|
-
options = validateOptions(options)
|
|
200
|
-
const { isNegative, integerPart, decimalPart } = parseNumericValue(value)
|
|
201
|
-
|
|
202
|
-
let result = ''
|
|
203
|
-
|
|
204
|
-
if (isNegative) {
|
|
205
|
-
result = NEGATIVE + ' '
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
result += integerToWords(integerPart, options)
|
|
209
|
-
|
|
210
|
-
if (decimalPart) {
|
|
211
|
-
result += ' ' + DECIMAL_SEP + ' ' + decimalPartToWords(decimalPart, options)
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return result
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// ============================================================================
|
|
218
|
-
// Exports
|
|
219
|
-
// ============================================================================
|
|
220
|
-
|
|
221
|
-
export { toWords }
|
package/lib/languages/sv.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Swedish words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @returns {string} The number in Swedish 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(42) // 'fyrtio-två'
|
|
11
|
-
* toWords(101) // 'hundra och ett'
|
|
12
|
-
* toWords(1000000) // 'en miljon'
|
|
13
|
-
*/
|
|
14
|
-
export function toWords(value: number | string | bigint): string;
|
package/lib/languages/sw.d.ts
DELETED
package/lib/languages/ta.d.ts
DELETED
package/lib/languages/te.d.ts
DELETED
package/lib/languages/th.d.ts
DELETED
package/lib/languages/tr.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Turkish words.
|
|
3
|
-
*
|
|
4
|
-
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
-
* @param {Object} [options] - Conversion options
|
|
6
|
-
* @param {boolean} [options.dropSpaces=false] - Remove spaces for compound form
|
|
7
|
-
* @returns {string} The number in Turkish words
|
|
8
|
-
* @throws {TypeError} If value is not a valid numeric type
|
|
9
|
-
* @throws {Error} If value is not a valid number format
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* toWords(21) // 'yirmi bir'
|
|
13
|
-
* toWords(21, { dropSpaces: true }) // 'yirmibir'
|
|
14
|
-
* toWords(1000) // 'bin'
|
|
15
|
-
*/
|
|
16
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
17
|
-
dropSpaces?: boolean | undefined;
|
|
18
|
-
}): string;
|
package/lib/languages/uk.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts a numeric value to Ukrainian 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 Ukrainian words
|
|
8
|
-
*/
|
|
9
|
-
export function toWords(value: number | string | bigint, options?: {
|
|
10
|
-
gender?: "masculine" | "feminine" | undefined;
|
|
11
|
-
}): string;
|