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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Swedish language converter
|
|
2
|
+
* Swedish (Sweden) language converter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* CLDR: sv-SE | Swedish as used in Sweden
|
|
5
5
|
*
|
|
6
6
|
* Key features:
|
|
7
7
|
* - Hyphenation for tens-ones (tjugo-ett)
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
* - Long scale naming with -ard forms
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import { parseCardinalValue } from './utils/parse-cardinal.js'
|
|
15
|
+
import { parseCurrencyValue } from './utils/parse-currency.js'
|
|
16
|
+
import { parseOrdinalValue } from './utils/parse-ordinal.js'
|
|
15
17
|
|
|
16
18
|
// ============================================================================
|
|
17
19
|
// Vocabulary (module-level constants)
|
|
@@ -32,7 +34,36 @@ const DECIMAL_SEP = 'komma'
|
|
|
32
34
|
const SCALES = ['tusen', 'miljon', 'miljard', 'biljon', 'biljard', 'triljon', 'triljard', 'kvadriljon']
|
|
33
35
|
|
|
34
36
|
// ============================================================================
|
|
35
|
-
//
|
|
37
|
+
// Ordinal Vocabulary
|
|
38
|
+
// ============================================================================
|
|
39
|
+
|
|
40
|
+
// Swedish ordinals: 1st-2nd use -a (första, andra), then -de suffix
|
|
41
|
+
// Numbers ending in 1, 2 (except 11, 12) use special forms
|
|
42
|
+
const ORDINAL_ONES = {
|
|
43
|
+
1: 'första',
|
|
44
|
+
2: 'andra',
|
|
45
|
+
3: 'tredje',
|
|
46
|
+
4: 'fjärde',
|
|
47
|
+
5: 'femte',
|
|
48
|
+
6: 'sjätte',
|
|
49
|
+
7: 'sjunde',
|
|
50
|
+
8: 'åttonde',
|
|
51
|
+
9: 'nionde',
|
|
52
|
+
10: 'tionde',
|
|
53
|
+
11: 'elfte',
|
|
54
|
+
12: 'tolfte'
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// ============================================================================
|
|
58
|
+
// Currency Vocabulary (Swedish Krona)
|
|
59
|
+
// ============================================================================
|
|
60
|
+
|
|
61
|
+
const KRONA = 'krona'
|
|
62
|
+
const KRONOR = 'kronor' // plural
|
|
63
|
+
const ORE = 'öre' // same singular and plural
|
|
64
|
+
|
|
65
|
+
// ============================================================================
|
|
66
|
+
// Segment Building
|
|
36
67
|
// ============================================================================
|
|
37
68
|
|
|
38
69
|
/**
|
|
@@ -43,8 +74,8 @@ function buildSegment (n) {
|
|
|
43
74
|
if (n === 0) return { word: '', hasHundred: false, lessThan100: false }
|
|
44
75
|
|
|
45
76
|
const ones = n % 10
|
|
46
|
-
const tens = Math.
|
|
47
|
-
const hundreds = Math.
|
|
77
|
+
const tens = Math.trunc(n / 10) % 10
|
|
78
|
+
const hundreds = Math.trunc(n / 100)
|
|
48
79
|
|
|
49
80
|
const parts = []
|
|
50
81
|
let hasHundred = false
|
|
@@ -83,18 +114,6 @@ function buildSegment (n) {
|
|
|
83
114
|
}
|
|
84
115
|
}
|
|
85
116
|
|
|
86
|
-
// Precompute all 1000 segment words (0-999)
|
|
87
|
-
const SEGMENTS = new Array(1000)
|
|
88
|
-
const SEGMENTS_HAS_HUNDRED = new Array(1000)
|
|
89
|
-
const SEGMENTS_LESS_THAN_100 = new Array(1000)
|
|
90
|
-
|
|
91
|
-
for (let i = 0; i < 1000; i++) {
|
|
92
|
-
const result = buildSegment(i)
|
|
93
|
-
SEGMENTS[i] = result.word
|
|
94
|
-
SEGMENTS_HAS_HUNDRED[i] = result.hasHundred
|
|
95
|
-
SEGMENTS_LESS_THAN_100[i] = result.lessThan100
|
|
96
|
-
}
|
|
97
|
-
|
|
98
117
|
// ============================================================================
|
|
99
118
|
// Conversion Functions
|
|
100
119
|
// ============================================================================
|
|
@@ -108,9 +127,9 @@ for (let i = 0; i < 1000; i++) {
|
|
|
108
127
|
function integerToWords (n) {
|
|
109
128
|
if (n === 0n) return ZERO
|
|
110
129
|
|
|
111
|
-
// Fast path: numbers < 1000
|
|
130
|
+
// Fast path: numbers < 1000
|
|
112
131
|
if (n < 1000n) {
|
|
113
|
-
return
|
|
132
|
+
return buildSegment(Number(n)).word
|
|
114
133
|
}
|
|
115
134
|
|
|
116
135
|
// Fast path: numbers < 1,000,000 (thousands)
|
|
@@ -119,15 +138,15 @@ function integerToWords (n) {
|
|
|
119
138
|
const remainder = Number(n % 1000n)
|
|
120
139
|
|
|
121
140
|
// Omit "ett" before tusen
|
|
122
|
-
let result = thousands === 1 ? SCALES[0] :
|
|
141
|
+
let result = thousands === 1 ? SCALES[0] : buildSegment(thousands).word + ' ' + SCALES[0]
|
|
123
142
|
|
|
124
143
|
if (remainder > 0) {
|
|
125
|
-
const
|
|
144
|
+
const remainderResult = buildSegment(remainder)
|
|
126
145
|
// Insert "och" if remainder < 100 (doesn't have hundred)
|
|
127
|
-
if (
|
|
128
|
-
result += ' och ' +
|
|
146
|
+
if (remainderResult.lessThan100) {
|
|
147
|
+
result += ' och ' + remainderResult.word
|
|
129
148
|
} else {
|
|
130
|
-
result += ' ' +
|
|
149
|
+
result += ' ' + remainderResult.word
|
|
131
150
|
}
|
|
132
151
|
}
|
|
133
152
|
|
|
@@ -171,11 +190,13 @@ function buildLargeNumberWords (n) {
|
|
|
171
190
|
const segment = segments[i]
|
|
172
191
|
|
|
173
192
|
if (segment !== 0) {
|
|
193
|
+
const segmentResult = buildSegment(segment)
|
|
194
|
+
|
|
174
195
|
if (scaleIndex === 0) {
|
|
175
196
|
// Units segment
|
|
176
197
|
parts.push({
|
|
177
|
-
word:
|
|
178
|
-
hasHundred:
|
|
198
|
+
word: segmentResult.word,
|
|
199
|
+
hasHundred: segmentResult.hasHundred,
|
|
179
200
|
isScale: false
|
|
180
201
|
})
|
|
181
202
|
} else {
|
|
@@ -191,7 +212,7 @@ function buildLargeNumberWords (n) {
|
|
|
191
212
|
segmentWord = 'en' // "en miljon"
|
|
192
213
|
}
|
|
193
214
|
} else {
|
|
194
|
-
segmentWord =
|
|
215
|
+
segmentWord = segmentResult.word
|
|
195
216
|
}
|
|
196
217
|
|
|
197
218
|
if (segmentWord) {
|
|
@@ -275,12 +296,12 @@ function decimalPartToWords (decimalPart) {
|
|
|
275
296
|
* @throws {Error} If value is not a valid number format
|
|
276
297
|
*
|
|
277
298
|
* @example
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
299
|
+
* toCardinal(42) // 'fyrtio-två'
|
|
300
|
+
* toCardinal(101) // 'hundra och ett'
|
|
301
|
+
* toCardinal(1000000) // 'en miljon'
|
|
281
302
|
*/
|
|
282
|
-
function
|
|
283
|
-
const { isNegative, integerPart, decimalPart } =
|
|
303
|
+
function toCardinal (value) {
|
|
304
|
+
const { isNegative, integerPart, decimalPart } = parseCardinalValue(value)
|
|
284
305
|
|
|
285
306
|
let result = ''
|
|
286
307
|
|
|
@@ -297,8 +318,102 @@ function toWords (value) {
|
|
|
297
318
|
return result
|
|
298
319
|
}
|
|
299
320
|
|
|
321
|
+
// ============================================================================
|
|
322
|
+
// ORDINAL: toOrdinal(value)
|
|
323
|
+
// ============================================================================
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Converts a non-negative integer to Swedish ordinal words.
|
|
327
|
+
*
|
|
328
|
+
* Swedish ordinals: första (1st), andra (2nd), tredje (3rd), etc.
|
|
329
|
+
* Most use cardinal + de suffix, with special forms 1-12.
|
|
330
|
+
*
|
|
331
|
+
* @param {bigint} n - Positive integer to convert
|
|
332
|
+
* @returns {string} Swedish ordinal words
|
|
333
|
+
*/
|
|
334
|
+
function integerToOrdinal (n) {
|
|
335
|
+
// Special forms for 1-12
|
|
336
|
+
if (n >= 1n && n <= 12n) {
|
|
337
|
+
return ORDINAL_ONES[Number(n)]
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// For numbers > 12, add -de suffix to cardinal
|
|
341
|
+
// But need to handle endings in 1, 2 specially
|
|
342
|
+
const cardinal = integerToWords(n)
|
|
343
|
+
|
|
344
|
+
// Numbers ending in ett -> första pattern not used for compound
|
|
345
|
+
// Swedish ordinals mostly add -de for >12
|
|
346
|
+
return cardinal + 'de'
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Converts a numeric value to Swedish ordinal words.
|
|
351
|
+
*
|
|
352
|
+
* @param {number | string | bigint} value - The numeric value to convert (positive integer)
|
|
353
|
+
* @returns {string} The number as ordinal words
|
|
354
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
355
|
+
* @throws {RangeError} If value is negative, zero, or has a decimal part
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* toOrdinal(1) // 'första'
|
|
359
|
+
* toOrdinal(2) // 'andra'
|
|
360
|
+
* toOrdinal(21) // 'tjugo-ettde'
|
|
361
|
+
*/
|
|
362
|
+
function toOrdinal (value) {
|
|
363
|
+
const integerPart = parseOrdinalValue(value)
|
|
364
|
+
return integerToOrdinal(integerPart)
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// ============================================================================
|
|
368
|
+
// CURRENCY: toCurrency(value)
|
|
369
|
+
// ============================================================================
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Converts a numeric value to Swedish currency words (Swedish Krona).
|
|
373
|
+
*
|
|
374
|
+
* Uses krona/kronor and öre (100 öre = 1 krona).
|
|
375
|
+
*
|
|
376
|
+
* @param {number | string | bigint} value - The currency amount to convert
|
|
377
|
+
* @returns {string} The amount in Swedish currency words
|
|
378
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
379
|
+
* @throws {Error} If value is not a valid number format
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* toCurrency(1) // 'en krona'
|
|
383
|
+
* toCurrency(42) // 'fyrtio-två kronor'
|
|
384
|
+
* toCurrency(1.50) // 'en krona och femtio öre'
|
|
385
|
+
*/
|
|
386
|
+
function toCurrency (value) {
|
|
387
|
+
const { isNegative, dollars: kronor, cents: ore } = parseCurrencyValue(value)
|
|
388
|
+
|
|
389
|
+
let result = ''
|
|
390
|
+
if (isNegative) {
|
|
391
|
+
result = NEGATIVE + ' '
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Kronor part
|
|
395
|
+
if (kronor > 0n || ore === 0n) {
|
|
396
|
+
// Use "en" for 1 krona (not "ett")
|
|
397
|
+
if (kronor === 1n) {
|
|
398
|
+
result += 'en ' + KRONA
|
|
399
|
+
} else {
|
|
400
|
+
result += integerToWords(kronor) + ' ' + KRONOR
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// Öre part
|
|
405
|
+
if (ore > 0n) {
|
|
406
|
+
if (kronor > 0n) {
|
|
407
|
+
result += ' och '
|
|
408
|
+
}
|
|
409
|
+
result += integerToWords(ore) + ' ' + ORE
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
return result
|
|
413
|
+
}
|
|
414
|
+
|
|
300
415
|
// ============================================================================
|
|
301
416
|
// Public API
|
|
302
417
|
// ============================================================================
|
|
303
418
|
|
|
304
|
-
export {
|
|
419
|
+
export { toCardinal, toOrdinal, toCurrency }
|
package/src/sw-KE.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a numeric value to Swahili words.
|
|
3
|
+
*
|
|
4
|
+
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
+
* @returns {string} The number in Swahili words
|
|
6
|
+
*/
|
|
7
|
+
export function toCardinal(value: number | string | bigint): string;
|
|
8
|
+
/**
|
|
9
|
+
* Converts a numeric value to Swahili ordinal words.
|
|
10
|
+
*
|
|
11
|
+
* @param {number | string | bigint} value - The numeric value to convert (positive integer)
|
|
12
|
+
* @returns {string} The number as ordinal words
|
|
13
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
14
|
+
* @throws {RangeError} If value is negative, zero, or has a decimal part
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* toOrdinal(1) // 'wa kwanza'
|
|
18
|
+
* toOrdinal(2) // 'wa pili'
|
|
19
|
+
* toOrdinal(10) // 'wa kumi'
|
|
20
|
+
*/
|
|
21
|
+
export function toOrdinal(value: number | string | bigint): string;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a numeric value to Swahili currency words (Kenyan Shilling).
|
|
24
|
+
*
|
|
25
|
+
* Uses shilingi and senti (100 senti = 1 shilingi).
|
|
26
|
+
*
|
|
27
|
+
* @param {number | string | bigint} value - The currency amount to convert
|
|
28
|
+
* @returns {string} The amount in Swahili currency words
|
|
29
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
30
|
+
* @throws {Error} If value is not a valid number format
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* toCurrency(42) // 'shilingi arobaini na mbili'
|
|
34
|
+
* toCurrency(1.50) // 'shilingi moja na senti hamsini'
|
|
35
|
+
* toCurrency(-5) // 'minus shilingi tano'
|
|
36
|
+
*/
|
|
37
|
+
export function toCurrency(value: number | string | bigint): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Swahili language converter
|
|
2
|
+
* Swahili (Kenya) language converter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* CLDR: sw-KE | Swahili as used in Kenya
|
|
5
5
|
*
|
|
6
6
|
* Key features:
|
|
7
7
|
* - "na" connector for compound numbers
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* - Scale words: elfu, milioni, bilioni
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import {
|
|
12
|
+
import { parseCardinalValue } from './utils/parse-cardinal.js'
|
|
13
|
+
import { parseCurrencyValue } from './utils/parse-currency.js'
|
|
14
|
+
import { parseOrdinalValue } from './utils/parse-ordinal.js'
|
|
13
15
|
|
|
14
16
|
// ============================================================================
|
|
15
17
|
// Vocabulary
|
|
@@ -24,6 +26,32 @@ const ZERO = 'sifuri'
|
|
|
24
26
|
const NEGATIVE = 'minus'
|
|
25
27
|
const DECIMAL_SEP = 'nukta'
|
|
26
28
|
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Ordinal Vocabulary
|
|
31
|
+
// ============================================================================
|
|
32
|
+
|
|
33
|
+
// Swahili ordinals use "wa" + cardinal: wa kwanza (1st), wa pili (2nd)
|
|
34
|
+
// First few have special forms
|
|
35
|
+
const ORDINAL_ONES = {
|
|
36
|
+
1: 'wa kwanza',
|
|
37
|
+
2: 'wa pili',
|
|
38
|
+
3: 'wa tatu',
|
|
39
|
+
4: 'wa nne',
|
|
40
|
+
5: 'wa tano',
|
|
41
|
+
6: 'wa sita',
|
|
42
|
+
7: 'wa saba',
|
|
43
|
+
8: 'wa nane',
|
|
44
|
+
9: 'wa tisa'
|
|
45
|
+
}
|
|
46
|
+
const ORDINAL_PREFIX = 'wa'
|
|
47
|
+
|
|
48
|
+
// ============================================================================
|
|
49
|
+
// Currency Vocabulary (Kenyan Shilling)
|
|
50
|
+
// ============================================================================
|
|
51
|
+
|
|
52
|
+
const SHILLING = 'shilingi'
|
|
53
|
+
const CENT = 'senti'
|
|
54
|
+
|
|
27
55
|
// ============================================================================
|
|
28
56
|
// Conversion Functions
|
|
29
57
|
// ============================================================================
|
|
@@ -128,8 +156,8 @@ function decimalPartToWords (decimalPart) {
|
|
|
128
156
|
* @param {number | string | bigint} value - The numeric value to convert
|
|
129
157
|
* @returns {string} The number in Swahili words
|
|
130
158
|
*/
|
|
131
|
-
function
|
|
132
|
-
const { isNegative, integerPart, decimalPart } =
|
|
159
|
+
function toCardinal (value) {
|
|
160
|
+
const { isNegative, integerPart, decimalPart } = parseCardinalValue(value)
|
|
133
161
|
|
|
134
162
|
let result = ''
|
|
135
163
|
|
|
@@ -146,8 +174,91 @@ function toWords (value) {
|
|
|
146
174
|
return result
|
|
147
175
|
}
|
|
148
176
|
|
|
177
|
+
// ============================================================================
|
|
178
|
+
// ORDINAL: toOrdinal(value)
|
|
179
|
+
// ============================================================================
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Converts a non-negative integer to Swahili ordinal words.
|
|
183
|
+
*
|
|
184
|
+
* Swahili ordinals: wa kwanza (1st), wa pili (2nd), wa tatu (3rd), etc.
|
|
185
|
+
*
|
|
186
|
+
* @param {bigint} n - Positive integer to convert
|
|
187
|
+
* @returns {string} Swahili ordinal words
|
|
188
|
+
*/
|
|
189
|
+
function integerToOrdinal (n) {
|
|
190
|
+
// Special forms for 1-9
|
|
191
|
+
if (n >= 1n && n <= 9n) {
|
|
192
|
+
return ORDINAL_ONES[Number(n)]
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// For 10+, use "wa" prefix + cardinal
|
|
196
|
+
return ORDINAL_PREFIX + ' ' + integerToWords(n)
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Converts a numeric value to Swahili ordinal words.
|
|
201
|
+
*
|
|
202
|
+
* @param {number | string | bigint} value - The numeric value to convert (positive integer)
|
|
203
|
+
* @returns {string} The number as ordinal words
|
|
204
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
205
|
+
* @throws {RangeError} If value is negative, zero, or has a decimal part
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* toOrdinal(1) // 'wa kwanza'
|
|
209
|
+
* toOrdinal(2) // 'wa pili'
|
|
210
|
+
* toOrdinal(10) // 'wa kumi'
|
|
211
|
+
*/
|
|
212
|
+
function toOrdinal (value) {
|
|
213
|
+
const integerPart = parseOrdinalValue(value)
|
|
214
|
+
return integerToOrdinal(integerPart)
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// ============================================================================
|
|
218
|
+
// CURRENCY: toCurrency(value)
|
|
219
|
+
// ============================================================================
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Converts a numeric value to Swahili currency words (Kenyan Shilling).
|
|
223
|
+
*
|
|
224
|
+
* Uses shilingi and senti (100 senti = 1 shilingi).
|
|
225
|
+
*
|
|
226
|
+
* @param {number | string | bigint} value - The currency amount to convert
|
|
227
|
+
* @returns {string} The amount in Swahili currency words
|
|
228
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
229
|
+
* @throws {Error} If value is not a valid number format
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* toCurrency(42) // 'shilingi arobaini na mbili'
|
|
233
|
+
* toCurrency(1.50) // 'shilingi moja na senti hamsini'
|
|
234
|
+
* toCurrency(-5) // 'minus shilingi tano'
|
|
235
|
+
*/
|
|
236
|
+
function toCurrency (value) {
|
|
237
|
+
const { isNegative, dollars: shillings, cents: senti } = parseCurrencyValue(value)
|
|
238
|
+
|
|
239
|
+
let result = ''
|
|
240
|
+
if (isNegative) {
|
|
241
|
+
result = NEGATIVE + ' '
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// Shillings part
|
|
245
|
+
if (shillings > 0n || senti === 0n) {
|
|
246
|
+
result += SHILLING + ' ' + integerToWords(shillings)
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// Senti part
|
|
250
|
+
if (senti > 0n) {
|
|
251
|
+
if (shillings > 0n) {
|
|
252
|
+
result += ' na '
|
|
253
|
+
}
|
|
254
|
+
result += CENT + ' ' + integerToWords(senti)
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
return result
|
|
258
|
+
}
|
|
259
|
+
|
|
149
260
|
// ============================================================================
|
|
150
261
|
// Exports
|
|
151
262
|
// ============================================================================
|
|
152
263
|
|
|
153
|
-
export {
|
|
264
|
+
export { toCardinal, toOrdinal, toCurrency }
|
package/src/ta-IN.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a numeric value to Tamil words.
|
|
3
|
+
*
|
|
4
|
+
* @param {number | string | bigint} value - The numeric value to convert
|
|
5
|
+
* @returns {string} The number in Tamil words
|
|
6
|
+
*/
|
|
7
|
+
export function toCardinal(value: number | string | bigint): string;
|
|
8
|
+
/**
|
|
9
|
+
* Converts a numeric value to Tamil ordinal words.
|
|
10
|
+
*
|
|
11
|
+
* @param {number | string | bigint} value - The numeric value to convert (positive integer)
|
|
12
|
+
* @returns {string} The number as ordinal words
|
|
13
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
14
|
+
* @throws {RangeError} If value is negative, zero, or has a decimal part
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* toOrdinal(1) // 'முதல்'
|
|
18
|
+
* toOrdinal(2) // 'இரண்டாவது'
|
|
19
|
+
* toOrdinal(10) // 'பத்துஆவது'
|
|
20
|
+
*/
|
|
21
|
+
export function toOrdinal(value: number | string | bigint): string;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a numeric value to Tamil currency words (Indian Rupee).
|
|
24
|
+
*
|
|
25
|
+
* @param {number | string | bigint} value - The currency amount to convert
|
|
26
|
+
* @returns {string} The amount in Tamil currency words
|
|
27
|
+
* @throws {TypeError} If value is not a valid numeric type
|
|
28
|
+
* @throws {Error} If value is not a valid number format
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* toCurrency(42.50) // 'நாற்பத்திரண்டு ரூபாய் ஐம்பது பைசா'
|
|
32
|
+
* toCurrency(1) // 'ஒன்று ரூபாய்'
|
|
33
|
+
* toCurrency(0.01) // 'ஒன்று பைசா'
|
|
34
|
+
*/
|
|
35
|
+
export function toCurrency(value: number | string | bigint): string;
|