n2words 3.1.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 +44 -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/{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-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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/pt-PT v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+i;return u>=s.length?r+s+"0".repeat(u-s.length):u<=0?r+"0."+"0".repeat(-u)+s:r+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return i(t)?n(t):t}function i(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:r,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(s),cents:BigInt(u)}}const s=["","um","dois","três","quatro","cinco","seis","sete","oito","nove"],u=["dez","onze","doze","treze","catorze","quinze","dezasseis","dezassete","dezoito","dezanove"],c=["","","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"],a=["","cento","duzentos","trezentos","quatrocentos","quinhentos","seiscentos","setecentos","oitocentos","novecentos"],l="mil",m="zero",f="menos",d=["","primeiro","segundo","terceiro","quarto","quinto","sexto","sétimo","oitavo","nono"],g=["décimo","décimo primeiro","décimo segundo","décimo terceiro","décimo quarto","décimo quinto","décimo sexto","décimo sétimo","décimo oitavo","décimo nono"],b=["","","vigésimo","trigésimo","quadragésimo","quinquagésimo","sexagésimo","septuagésimo","octogésimo","nonagésimo"],h=["","centésimo","ducentésimo","tricentésimo","quadringentésimo","quingentésimo","sexcentésimo","septingentésimo","octingentésimo","nongentésimo"],w="euros";function p(e){if(0===e)return{word:"",isExactHundred:!1};if(100===e)return{word:"cem",isExactHundred:!0};const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(a[i]),1===t?r.push(u[n]):t>=2?r.push(n>0?c[t]+" e "+s[n]:c[t]):n>0&&r.push(s[n]),{word:r.join(" e "),isExactHundred:i>0&&0===t&&0===n,startsWithHundreds:e>=100}}const v=["",l,"milhão","mil milhões","bilião","mil biliões","trilião","mil triliões","quatrilião"],N=["",l,"milhões","mil milhões","biliões","mil biliões","triliões","mil triliões","quatriliões"];function I(e){if(0n===e)return m;if(e<1000n)return p(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let i;if(i=1===n?l:p(n).word+" "+l,t>0){const e=p(t);i+=e.startsWithHundreds?" "+e.word:" e "+e.word}return i}return function(e){const n=[];let t=e;for(;t>0n;)n.push(Number(t%1000n)),t/=1000n;let i=0;for(let e=0;e<n.length;e++)if(0!==n[e]){i=e;break}let r="",o=!1;for(let e=n.length-1;e>=0;e--){const t=n[e];if(0===t)continue;const s=p(t);if(r&&e===i&&o&&!s.startsWithHundreds&&(r+=" e"),r&&(r+=" "),0===e)r+=s.word,o=!1;else if(1===e)r+=1===t?l:s.word+" "+l,o=!0;else{const n=1===t?v[e]:N[e];r+=1===t?"um "+n:s.word+" "+n,o=!0}}return r}(e)}function y(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(h[i]),1===t?r.push(g[n]):t>=2?(r.push(b[t]),n>0&&r.push(d[n])):n>0&&r.push(d[n]),r.join(" ")}const E={ptPT:function(e){const t=function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(e);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);if(t<10n)return d[Number(t)];if(t<20n)return g[Number(t)-10];if(t<100n){const e=Number(t%10n),n=Number(t/10n);return 0===e?b[n]:b[n]+" "+d[e]}return t<1000n?y(Number(t)):function(e){const n=[];let t=e;for(;t>0n;)n.push(Number(t%1000n)),t/=1000n;let i=0;for(let e=0;e<n.length;e++)if(0!==n[e]){i=e;break}const r=["","milésimo","milionésimo","mil milionésimo","bilionésimo","mil bilionésimo","trilionésimo"];let o="";for(let e=n.length-1;e>=0;e--){const t=n[e];if(0!==t)if(o&&(o+=" "),e===i)o+=0===e?y(t):1===t&&e>0?r[e]:y(t)+" "+r[e];else if(0===e)o+=p(t).word;else if(1===e)o+=1===t?l:p(t).word+" "+l;else{const n=1===t?v[e]:N[e];o+=1===t?"um "+n:p(t).word+" "+n}}return o}(t)}};e.currency={ptPT:function(e,n){n=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(n);const{isNegative:i,dollars:r,cents:s}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),{and:u=!0}=n;let c="";i&&(c=f+" ");const a=r>0n,l=s>0n;return a||l?(a&&(c+=I(r)+" "+(1n===r?"euro":w)),l&&(a&&(c+=u?" e ":" "),c+=I(s)+" "+(1n===s?"cêntimo":"cêntimos")),c):m+" "+w}},e.ordinal=E,e.ptPT=function(e){const{isNegative:o,integerPart:s,decimalPart:u}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:r(t(e))}if("string"===o)return r(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e);let c="";return o&&(c=f+" "),c+=I(s),u&&(c+=" vírgula "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=m,t++;const i=e.slice(t);return i&&(n&&(n+=" "),n+=I(BigInt(i))),n}(u)),c}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/ro-RO.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ro-RO v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,i]=e.toLowerCase().split("e");const r=parseInt(i,10);let t="";"-"===n[0]&&(t="-",n=n.slice(1));const a=n.indexOf("."),u=-1===a?n:n.slice(0,a)+n.slice(a+1),s=(-1===a?n.length:a)+r;return s>=u.length?t+u+"0".repeat(s-u.length):s<=0?t+"0."+"0".repeat(-s)+u:t+u.slice(0,s)+"."+u.slice(s)}function n(n){const r=n.toString();return i(r)?e(r):r}function i(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const i=e.indexOf(".");if(-1===i)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,i)||"0",t=e.slice(i+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:t}}function t(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);i(r)&&(r=e(r));const t="-"===r[0];t&&(r=r.slice(1));const a=r.indexOf(".");if(-1===a)return{isNegative:t,dollars:BigInt(r),cents:0n};const u=r.slice(0,a)||"0",s=(r.slice(a+1)+"00").slice(0,2);return{isNegative:t,dollars:BigInt(u),cents:BigInt(s)}}const a=["","unu","doi","trei","patru","cinci","șase","șapte","opt","nouă"],u=["","una","două","trei","patru","cinci","șase","șapte","opt","nouă"],s=["zece","unsprezece","douăsprezece","treisprezece","paisprezece","cincisprezece","șaisprezece","șaptesprezece","optsprezece","nouăsprezece"],l=["zece","unsprezece","doisprezece","treisprezece","paisprezece","cincisprezece","șaisprezece","șaptesprezece","optsprezece","nouăsprezece"],o=["","","douăzeci","treizeci","patruzeci","cincizeci","șaizeci","șaptezeci","optzeci","nouăzeci"],c=["","o sută","două sute","trei sute","patru sute","cinci sute","șase sute","șapte sute","opt sute","nouă sute"],f="zero",p="minus",g=["","primul","al doilea","al treilea","al patrulea","al cincilea","al șaselea","al șaptelea","al optulea","al nouălea"],m=["al zecelea","al unsprezecelea","al doisprezecelea","al treisprezecelea","al paisprezecelea","al cincisprezecelea","al șaisprezecelea","al șaptesprezecelea","al optsprezecelea","al nouăsprezecelea"],d=["","","al douăzecilea","al treizecilea","al patruzecilea","al cincizecilea","al șaizecilea","al șaptezecilea","al optzecilea","al nouăzecilea"],b="al sutălea",z="al miilea",h="al milionulea",w="bani",N=[{singular:"mie",plural:"mii",article:"o",feminine:!0,needsDe:!0},{singular:"milion",plural:"milioane",article:"un",feminine:!1,needsDe:!0},{singular:"miliard",plural:"miliarde",article:"un",feminine:!1,needsDe:!0},{singular:"trilion",plural:"trilioane",article:"un",feminine:!1,needsDe:!0},{singular:"cvadrilion",plural:"cvadrilioane",article:"un",feminine:!1,needsDe:!0},{singular:"cvintilion",plural:"cvintilioane",article:"un",feminine:!1,needsDe:!0},{singular:"sextilion",plural:"sextilioane",article:"un",feminine:!1,needsDe:!0},{singular:"septilion",plural:"septilioane",article:"un",feminine:!1,needsDe:!0},{singular:"octilion",plural:"octilioane",article:"un",feminine:!1,needsDe:!0}];function v(e,n=!1,i=!1){if(0===e)return"";if(e<10)return n?u[e]:a[e];if(e<20)return i?l[e-10]:s[e-10];const r=Math.trunc(e/10),t=e%10;return 0===t?o[r]:o[r]+" și "+(n?u[t]:a[t])}function I(e,n=!1,i=!1){if(0===e)return"";if(e<100)return v(e,n,i);const r=Math.trunc(e/100),t=e%100,a=c[r];return 0===t?a:a+" "+v(t,n,i)}function E(e,n){const i=N[n-1];return i?1===e?i.article+" "+i.singular:21===e&&i.needsDe?"douăzeci și una de "+i.plural:I(e,!0)+(i.needsDe&&e>=20?" de ":" ")+i.plural:I(e,!0)}function y(e,n){if(0n===e)return f;if(e<1000n){const i="feminine"===n;return I(Number(e),i)}return function(e,n){const i=[];let r=e;for(;r>0n;)i.push(Number(r%1000n)),r/=1000n;let t="";for(let e=i.length-1;e>=0;e--){const r=i[e];if(0===r)continue;let a;a=0===e?I(r,"feminine"===n):E(r,e),t&&a?t+=" "+a:a&&(t=a)}return t}(e,n)}function O(t,a){a=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(a);const{isNegative:u,integerPart:s,decimalPart:l}=function(t){const a=typeof t;if("bigint"===a)return t<0n?{isNegative:!0,integerPart:-t}:{isNegative:!1,integerPart:t};if("number"===a){if(!Number.isFinite(t))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(t)?t<0?{isNegative:!0,integerPart:BigInt(-t)}:{isNegative:!1,integerPart:BigInt(t)}:r(n(t))}if("string"===a)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return i(r)?e(r):r}(t));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${a}`)}(t),{gender:o="masculine"}=a;let c="";return u&&(c=p+" "),c+=y(s,o),l&&(c+=" virgulă "+function(e){let n="",i=0;for(;i<e.length&&"0"===e[i];)n&&(n+=" "),n+=f,i++;const r=e.slice(i);if(r){n&&(n+=" ");const e=BigInt(r);n+=e<1000n?I(Number(e),!1,!0):y(e,{})}return n}(l)),c}function R(e){if(0===e)return"";if(e<10)return g[e];if(e<20)return m[e-10];const n=e%10,i=Math.trunc(e/10);return 0===n?d[i]:o[i]+" și "+g[n]}function B(e){if(0n===e)return"";if(1n===e)return g[1];if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e/100n),i=Number(e%100n);return 0===i?b:c[n]+" "+R(i)}if(e<1000000n){const n=Number(e/1000n),i=Number(e%1000n);if(0===i)return 1===n?z:E(n,1)+" "+z;let r;if(r=1===n?"o mie":E(n,1),i<100)return r+" "+R(i);const t=Math.trunc(i/100),a=i%100;return 0===a?r+" "+b:r+" "+c[t]+" "+R(a)}const n=Number(e/1000000n),i=e%1000000n;if(0n===i)return 1===n?h:E(n,2)+" "+h;let r;return r=1===n?"un milion":E(n,2),r+" "+B(i)}function D(n){return B(function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(n);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n))}function x(e){const{isNegative:i,dollars:r,cents:a}=function(e){const i=typeof e;if("bigint"===i)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===i){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:t(n(e))}if("string"===i)return t(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(e),u=[];if(i&&u.push(p),r>0n||0n===a)if(1n===r)u.push("un leu");else{const e=y(r,"masculine");u.push(e+" lei")}if(a>0n){const e=Number(a);if(1===e)u.push("un ban");else if(e>=20){const n=v(e,!1);u.push(n+" de "+w)}else{const n=v(e,!1);u.push(n+" "+w)}}return u.join(" ")}export{O as toCardinal,x as toCurrency,D as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ro-RO v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,i]=e.toLowerCase().split("e");const r=parseInt(i,10);let t="";"-"===n[0]&&(t="-",n=n.slice(1));const a=n.indexOf("."),s=-1===a?n:n.slice(0,a)+n.slice(a+1),u=(-1===a?n.length:a)+r;return u>=s.length?t+s+"0".repeat(u-s.length):u<=0?t+"0."+"0".repeat(-u)+s:t+s.slice(0,u)+"."+s.slice(u)}function i(e){const i=e.toString();return r(i)?n(i):i}function r(e){return e.includes("e")||e.includes("E")}function t(e){const n="-"===e[0];n&&(e=e.slice(1));const i=e.indexOf(".");if(-1===i)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,i)||"0",t=e.slice(i+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:t}}function a(e){let i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${e}"`);r(i)&&(i=n(i));const t="-"===i[0];t&&(i=i.slice(1));const a=i.indexOf(".");if(-1===a)return{isNegative:t,dollars:BigInt(i),cents:0n};const s=i.slice(0,a)||"0",u=(i.slice(a+1)+"00").slice(0,2);return{isNegative:t,dollars:BigInt(s),cents:BigInt(u)}}const s=["","unu","doi","trei","patru","cinci","șase","șapte","opt","nouă"],u=["","una","două","trei","patru","cinci","șase","șapte","opt","nouă"],o=["zece","unsprezece","douăsprezece","treisprezece","paisprezece","cincisprezece","șaisprezece","șaptesprezece","optsprezece","nouăsprezece"],l=["zece","unsprezece","doisprezece","treisprezece","paisprezece","cincisprezece","șaisprezece","șaptesprezece","optsprezece","nouăsprezece"],c=["","","douăzeci","treizeci","patruzeci","cincizeci","șaizeci","șaptezeci","optzeci","nouăzeci"],f=["","o sută","două sute","trei sute","patru sute","cinci sute","șase sute","șapte sute","opt sute","nouă sute"],p="zero",g="minus",d=["","primul","al doilea","al treilea","al patrulea","al cincilea","al șaselea","al șaptelea","al optulea","al nouălea"],m=["al zecelea","al unsprezecelea","al doisprezecelea","al treisprezecelea","al paisprezecelea","al cincisprezecelea","al șaisprezecelea","al șaptesprezecelea","al optsprezecelea","al nouăsprezecelea"],b=["","","al douăzecilea","al treizecilea","al patruzecilea","al cincizecilea","al șaizecilea","al șaptezecilea","al optzecilea","al nouăzecilea"],z="al sutălea",h="al miilea",w="al milionulea",N="bani",v=[{singular:"mie",plural:"mii",article:"o",feminine:!0,needsDe:!0},{singular:"milion",plural:"milioane",article:"un",feminine:!1,needsDe:!0},{singular:"miliard",plural:"miliarde",article:"un",feminine:!1,needsDe:!0},{singular:"trilion",plural:"trilioane",article:"un",feminine:!1,needsDe:!0},{singular:"cvadrilion",plural:"cvadrilioane",article:"un",feminine:!1,needsDe:!0},{singular:"cvintilion",plural:"cvintilioane",article:"un",feminine:!1,needsDe:!0},{singular:"sextilion",plural:"sextilioane",article:"un",feminine:!1,needsDe:!0},{singular:"septilion",plural:"septilioane",article:"un",feminine:!1,needsDe:!0},{singular:"octilion",plural:"octilioane",article:"un",feminine:!1,needsDe:!0}];function I(e,n=!1,i=!1){if(0===e)return"";if(e<10)return n?u[e]:s[e];if(e<20)return i?l[e-10]:o[e-10];const r=Math.trunc(e/10),t=e%10;return 0===t?c[r]:c[r]+" și "+(n?u[t]:s[t])}function y(e,n=!1,i=!1){if(0===e)return"";if(e<100)return I(e,n,i);const r=Math.trunc(e/100),t=e%100,a=f[r];return 0===t?a:a+" "+I(t,n,i)}function E(e,n){const i=v[n-1];return i?1===e?i.article+" "+i.singular:21===e&&i.needsDe?"douăzeci și una de "+i.plural:y(e,!0)+(i.needsDe&&e>=20?" de ":" ")+i.plural:y(e,!0)}function O(e,n){if(0n===e)return p;if(e<1000n){const i="feminine"===n;return y(Number(e),i)}return function(e,n){const i=[];let r=e;for(;r>0n;)i.push(Number(r%1000n)),r/=1000n;let t="";for(let e=i.length-1;e>=0;e--){const r=i[e];if(0===r)continue;let a;a=0===e?y(r,"feminine"===n):E(r,e),t&&a?t+=" "+a:a&&(t=a)}return t}(e,n)}function R(e){if(0===e)return"";if(e<10)return d[e];if(e<20)return m[e-10];const n=e%10,i=Math.trunc(e/10);return 0===n?b[i]:c[i]+" și "+d[n]}function B(e){if(0n===e)return"";if(1n===e)return d[1];if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e/100n),i=Number(e%100n);return 0===i?z:f[n]+" "+R(i)}if(e<1000000n){const n=Number(e/1000n),i=Number(e%1000n);if(0===i)return 1===n?h:E(n,1)+" "+h;let r;if(r=1===n?"o mie":E(n,1),i<100)return r+" "+R(i);const t=Math.trunc(i/100),a=i%100;return 0===a?r+" "+z:r+" "+f[t]+" "+R(a)}const n=Number(e/1000000n),i=e%1000000n;if(0n===i)return 1===n?w:E(n,2)+" "+w;let r;return r=1===n?"un milion":E(n,2),r+" "+B(i)}const x={roRO:function(e){return B(function(e){const i=typeof e;if("bigint"===i){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===i){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===i)return function(e){const i=e.trim();if(0===i.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===i[0])throw new RangeError("Ordinals cannot be negative");if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(i)){const e=n(i);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(i);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(e))}};e.currency={roRO:function(e){const{isNegative:n,dollars:r,cents:t}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:a(i(e))}if("string"===n)return a(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),s=[];if(n&&s.push(g),r>0n||0n===t)if(1n===r)s.push("un leu");else{const e=O(r,"masculine");s.push(e+" lei")}if(t>0n){const e=Number(t);if(1===e)s.push("un ban");else if(e>=20){const n=I(e,!1);s.push(n+" de "+N)}else{const n=I(e,!1);s.push(n+" "+N)}}return s.join(" ")}},e.ordinal=x,e.roRO=function(e,a){a=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(a);const{isNegative:s,integerPart:u,decimalPart:o}=function(e){const a=typeof e;if("bigint"===a)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===a){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:t(i(e))}if("string"===a)return t(function(e){const i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${e}"`);return r(i)?n(i):i}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${a}`)}(e),{gender:l="masculine"}=a;let c="";return s&&(c=g+" "),c+=O(u,l),o&&(c+=" virgulă "+function(e){let n="",i=0;for(;i<e.length&&"0"===e[i];)n&&(n+=" "),n+=p,i++;const r=e.slice(i);if(r){n&&(n+=" ");const e=BigInt(r);n+=e<1000n?y(Number(e),!1,!0):O(e,{})}return n}(o)),c}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/ru-RU.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ru-RU v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}function s(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const o=["","один","два","три","четыре","пять","шесть","семь","восемь","девять"],u=["","одна","две","три","четыре","пять","шесть","семь","восемь","девять"],c=["десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"],l=["","","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"],a=["","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"],f="ноль",g="минус",h=[["тысяча","тысячи","тысяч"],["миллион","миллиона","миллионов"],["миллиард","миллиарда","миллиардов"],["триллион","триллиона","триллионов"],["квадриллион","квадриллиона","квадриллионов"],["квинтиллион","квинтиллиона","квинтиллионов"],["секстиллион","секстиллиона","секстиллионов"],["септиллион","септиллиона","септиллионов"],["октиллион","октиллиона","октиллионов"],["нониллион","нониллиона","нониллионов"]],m=["","первый","второй","третий","четвёртый","пятый","шестой","седьмой","восьмой","девятый"],b=["десятый","одиннадцатый","двенадцатый","тринадцатый","четырнадцатый","пятнадцатый","шестнадцатый","семнадцатый","восемнадцатый","девятнадцатый"],p=["","","двадцатый","тридцатый","сороковой","пятидесятый","шестидесятый","семидесятый","восьмидесятый","девяностый"],d=["","сотый","двухсотый","трёхсотый","четырёхсотый","пятисотый","шестисотый","семисотый","восьмисотый","девятисотый"],N=["тысячный","миллионный","миллиардный","триллионный","квадриллионный","квинтиллионный","секстиллионный","септиллионный","октиллионный","нониллионный"],w=["","","двух","трёх","четырёх","пяти","шести","семи","восьми","девяти"],v=["рубль","рубля","рублей"],I=["копейка","копейки","копеек"];function E(e,n){const t="bigint"==typeof e?Number(e):e,r=t%10,i=t%100;return i>=11&&i<=19?n[2]:1===r?n[0]:r>=2&&r<=4?n[1]:n[2]}function y(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(c[n]):n>0&&i.push(o[n]),i.join(" ")}function O(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(c[n]):n>0&&i.push(u[n]),i.join(" ")}function R(e,n){if(0n===e)return f;const t="feminine"===n;if(e<1000n)return t?O(Number(e)):y(Number(e));if(e<1000000n){const n=Number(e/1000n),r=Number(e%1000n);let i=O(n)+" "+E(n,h[0]);return r>0&&(i+=" "+(t?O(r):y(r))),i}return function(e,n){const t="feminine"===n,r=e.toString(),i=r.length,s=[],o=i%3;let u=0;for(o>0&&(s.push(Number(r.slice(0,o))),u=o);u<i;)s.push(Number(r.slice(u,u+3))),u+=3;const c=[];let l=s.length-1;for(let e=0;e<s.length;e++){const n=s[e];if(0!==n)if(0===l)c.push(t?O(n):y(n));else{const e=E(n,h[l-1]),t=1===l?O(n):y(n);c.push(t+" "+e)}l--}return c.join(" ")}(e,n)}function B(i,o){o=s(o);const{isNegative:u,integerPart:c,decimalPart:l}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===s)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i),{gender:a="masculine"}=o;let h="";return u&&(h=g+" "),h+=R(c,a),l&&(h+=" запятая "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=f,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=R(BigInt(i),n)),t}(l,a)),h}function P(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?m[n]:1===t?b[n]:0===n?p[t]:l[t]+" "+m[n]}function j(e){if(e<100n)return P(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),r=n%100;return 0===r?d[t]:a[t]+" "+P(r)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);return 0===t?1===n?N[0]:n<10?w[n]+N[0]:O(n)+" "+N[0]:O(n)+" "+E(n,h[0])+" "+j(BigInt(t))}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;let o=r.length-1;for(;o>=0&&0===r[o];)o--;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const t=e===o;if(0===c)u.push(t?j(BigInt(n)):y(n));else if(t)if(1===n)u.push(N[c-1]);else{const e=1===c?O(n):y(n);u.push(e+" "+N[c-1])}else{const e=E(n,h[c-1]),t=1===c?O(n):y(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}function x(n){return j(function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n))}function M(e,t){t=s(t);const{isNegative:r,dollars:o,cents:u}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:c=!0}=t;let l="";return r&&(l=g+" "),(o>0n||0n===u)&&(l+=R(o,"masculine"),l+=" "+E(o,v)),u>0n&&(o>0n&&(l+=c?" и ":" "),l+=R(u,"feminine"),l+=" "+E(u,I)),l}export{B as toCardinal,M as toCurrency,x as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ru-RU v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}function s(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const u=["","один","два","три","четыре","пять","шесть","семь","восемь","девять"],c=["","одна","две","три","четыре","пять","шесть","семь","восемь","девять"],f=["десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"],l=["","","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"],a=["","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"],g="ноль",h="минус",b=[["тысяча","тысячи","тысяч"],["миллион","миллиона","миллионов"],["миллиард","миллиарда","миллиардов"],["триллион","триллиона","триллионов"],["квадриллион","квадриллиона","квадриллионов"],["квинтиллион","квинтиллиона","квинтиллионов"],["секстиллион","секстиллиона","секстиллионов"],["септиллион","септиллиона","септиллионов"],["октиллион","октиллиона","октиллионов"],["нониллион","нониллиона","нониллионов"]],m=["","первый","второй","третий","четвёртый","пятый","шестой","седьмой","восьмой","девятый"],d=["десятый","одиннадцатый","двенадцатый","тринадцатый","четырнадцатый","пятнадцатый","шестнадцатый","семнадцатый","восемнадцатый","девятнадцатый"],p=["","","двадцатый","тридцатый","сороковой","пятидесятый","шестидесятый","семидесятый","восьмидесятый","девяностый"],w=["","сотый","двухсотый","трёхсотый","четырёхсотый","пятисотый","шестисотый","семисотый","восьмисотый","девятисотый"],N=["тысячный","миллионный","миллиардный","триллионный","квадриллионный","квинтиллионный","секстиллионный","септиллионный","октиллионный","нониллионный"],v=["","","двух","трёх","четырёх","пяти","шести","семи","восьми","девяти"],I=["рубль","рубля","рублей"],y=["копейка","копейки","копеек"];function E(e,n){const t="bigint"==typeof e?Number(e):e,r=t%10,i=t%100;return i>=11&&i<=19?n[2]:1===r?n[0]:r>=2&&r<=4?n[1]:n[2]}function R(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(f[n]):n>0&&i.push(u[n]),i.join(" ")}function O(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(f[n]):n>0&&i.push(c[n]),i.join(" ")}function B(e,n){if(0n===e)return g;const t="feminine"===n;if(e<1000n)return t?O(Number(e)):R(Number(e));if(e<1000000n){const n=Number(e/1000n),r=Number(e%1000n);let i=O(n)+" "+E(n,b[0]);return r>0&&(i+=" "+(t?O(r):R(r))),i}return function(e,n){const t="feminine"===n,r=e.toString(),i=r.length,o=[],s=i%3;let u=0;for(s>0&&(o.push(Number(r.slice(0,s))),u=s);u<i;)o.push(Number(r.slice(u,u+3))),u+=3;const c=[];let f=o.length-1;for(let e=0;e<o.length;e++){const n=o[e];if(0!==n)if(0===f)c.push(t?O(n):R(n));else{const e=E(n,b[f-1]),t=1===f?O(n):R(n);c.push(t+" "+e)}f--}return c.join(" ")}(e,n)}function x(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?m[n]:1===t?d[n]:0===n?p[t]:l[t]+" "+m[n]}function P(e){if(e<100n)return x(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),r=n%100;return 0===r?w[t]:a[t]+" "+x(r)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);return 0===t?1===n?N[0]:n<10?v[n]+N[0]:O(n)+" "+N[0]:O(n)+" "+E(n,b[0])+" "+P(BigInt(t))}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let o=0;for(i>0&&(r.push(Number(n.slice(0,i))),o=i);o<t;)r.push(Number(n.slice(o,o+3))),o+=3;let s=r.length-1;for(;s>=0&&0===r[s];)s--;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const t=e===s;if(0===c)u.push(t?P(BigInt(n)):R(n));else if(t)if(1===n)u.push(N[c-1]);else{const e=1===c?O(n):R(n);u.push(e+" "+N[c-1])}else{const e=E(n,b[c-1]),t=1===c?O(n):R(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}const j={ruRU:function(e){return P(function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e))}};e.currency={ruRU:function(e,n){n=s(n);const{isNegative:r,dollars:i,cents:u}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),{and:c=!0}=n;let f="";return r&&(f=h+" "),(i>0n||0n===u)&&(f+=B(i,"masculine"),f+=" "+E(i,I)),u>0n&&(i>0n&&(f+=c?" и ":" "),f+=B(u,"feminine"),f+=" "+E(u,y)),f}},e.ordinal=j,e.ruRU=function(e,o){o=s(o);const{isNegative:u,integerPart:c,decimalPart:f}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===o)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e),{gender:l="masculine"}=o;let a="";return u&&(a=h+" "),a+=B(c,l),f&&(a+=" запятая "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=g,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=B(BigInt(i),n)),t}(f,l)),a}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sr-Cyrl-RS v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}function s(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const o=["","један","два","три","четири","пет","шест","седам","осам","девет"],u=["","једна","две","три","четири","пет","шест","седам","осам","девет"],c=["десет","једанаест","дванаест","тринаест","четрнаест","петнаест","шеснаест","седамнаест","осамнаест","деветнаест"],l=["","","двадесет","тридесет","четрдесет","педесет","шездесет","седамдесет","осамдесет","деведесет"],a=["","сто","двеста","триста","четиристо","петсто","шесто","седамсто","осамсто","девестo"],f="нула",g="минус",h=["","први","други","трећи","четврти","пети","шести","седми","осми","девети"],m=["десети","једанаести","дванаести","тринаести","четрнаести","петнаести","шеснаести","седамнаести","осамнаести","деветнаести"],b=["","","двадесети","тридесети","четрдесети","педесети","шездесети","седамдесети","осамдесети","деведесети"],p=["","стоти","двестоти","тристоти","четиристоти","петстоти","шестоти","седамстоти","осамстоти","деветстоти"],d=["хиљадити","милионити","милијардити","билионити","билијардити","трилионити","трилијардити","квадрилионити","квадрилијардити"],w=["динар","динара","динара"],N=["пара","паре","пара"],v=[["хиљада","хиљаде","хиљада"],["милион","милиона","милиона"],["милијарда","милијарде","милијарда"],["билион","билиона","билиона"],["билијарда","билијарде","билијарда"],["трилион","трилиона","трилиона"],["трилијарда","трилијарде","трилијарда"],["квадрилион","квадрилиона","квадрилиона"],["квадрилијарда","квадрилијарде","квадрилијарда"]];function I(e,n){const t="bigint"==typeof e?Number(e):e,r=t%10,i=t%100;return i>=11&&i<=19?n[2]:1===r?n[0]:r>=2&&r<=4?n[1]:n[2]}function E(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(c[n]):n>0&&i.push(o[n]),i.join(" ")}function y(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(l[t]),1===t?i.push(c[n]):n>0&&i.push(u[n]),i.join(" ")}function O(e,n){return 0n===e?f:e<1000n?"feminine"===n?y(Number(e)):E(Number(e)):function(e,n){const t=e.toString(),r=t.length,i=[],s=r%3;let o=0;for(s>0&&(i.push(Number(t.slice(0,s))),o=s);o<r;)i.push(Number(t.slice(o,o+3))),o+=3;const u=[];let c=i.length-1;for(let e=0;e<i.length;e++){const t=i[e];if(0!==t)if(0===c)u.push("feminine"===n?y(t):E(t));else{const e=I(t,v[c-1]),n=1===c?y(t):E(t);u.push(n+" "+e)}c--}return u.join(" ")}(e,n)}function R(i,o){o=s(o);const{isNegative:u,integerPart:c,decimalPart:l}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===s)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i),{gender:a="masculine"}=o;let h="";return u&&(h=g+" "),h+=O(c,a),l&&(h+=" запета "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=f,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=O(BigInt(i),n)),t}(l,a)),h}function B(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?h[n]:1===t?m[n]:0===n?b[t]:l[t]+" "+h[n]}function P(e){if(e<100n)return B(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),r=n%100;return 0===r?p[t]:a[t]+" "+B(r)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);return 0===t?1===n?d[0]:y(n)+" "+d[0]:y(n)+" "+I(n,v[0])+" "+P(BigInt(t))}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;let o=r.length-1;for(;o>=0&&0===r[o];)o--;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const t=e===o;if(0===c)u.push(t?P(BigInt(n)):E(n));else if(t)if(1===n)u.push(d[c-1]);else{const e=1===c?y(n):E(n);u.push(e+" "+d[c-1])}else{const e=I(n,v[c-1]),t=1===c?y(n):E(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}function j(n){return P(function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n))}function x(e,t){t=s(t);const{isNegative:r,dollars:o,cents:u}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:c=!0}=t;let l="";return r&&(l=g+" "),(o>0n||0n===u)&&(l+=O(o,"masculine"),l+=" "+I(o,w)),u>0n&&(o>0n&&(l+=c?" и ":" "),l+=O(u,"feminine"),l+=" "+I(u,N)),l}export{R as toCardinal,x as toCurrency,j as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sr-Cyrl-RS v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}function o(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const u=["","један","два","три","четири","пет","шест","седам","осам","девет"],c=["","једна","две","три","четири","пет","шест","седам","осам","девет"],l=["десет","једанаест","дванаест","тринаест","четрнаест","петнаест","шеснаест","седамнаест","осамнаест","деветнаест"],f=["","","двадесет","тридесет","четрдесет","педесет","шездесет","седамдесет","осамдесет","деведесет"],a=["","сто","двеста","триста","четиристо","петсто","шесто","седамсто","осамсто","девестo"],g="нула",h="минус",b=["","први","други","трећи","четврти","пети","шести","седми","осми","девети"],d=["десети","једанаести","дванаести","тринаести","четрнаести","петнаести","шеснаести","седамнаести","осамнаести","деветнаести"],m=["","","двадесети","тридесети","четрдесети","педесети","шездесети","седамдесети","осамдесети","деведесети"],p=["","стоти","двестоти","тристоти","четиристоти","петстоти","шестоти","седамстоти","осамстоти","деветстоти"],w=["хиљадити","милионити","милијардити","билионити","билијардити","трилионити","трилијардити","квадрилионити","квадрилијардити"],N=["динар","динара","динара"],v=["пара","паре","пара"],y=[["хиљада","хиљаде","хиљада"],["милион","милиона","милиона"],["милијарда","милијарде","милијарда"],["билион","билиона","билиона"],["билијарда","билијарде","билијарда"],["трилион","трилиона","трилиона"],["трилијарда","трилијарде","трилијарда"],["квадрилион","квадрилиона","квадрилиона"],["квадрилијарда","квадрилијарде","квадрилијарда"]];function I(e,n){const t="bigint"==typeof e?Number(e):e,r=t%10,i=t%100;return i>=11&&i<=19?n[2]:1===r?n[0]:r>=2&&r<=4?n[1]:n[2]}function E(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(f[t]),1===t?i.push(l[n]):n>0&&i.push(u[n]),i.join(" ")}function R(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];return r>0&&i.push(a[r]),t>1&&i.push(f[t]),1===t?i.push(l[n]):n>0&&i.push(c[n]),i.join(" ")}function O(e,n){return 0n===e?g:e<1000n?"feminine"===n?R(Number(e)):E(Number(e)):function(e,n){const t=e.toString(),r=t.length,i=[],s=r%3;let o=0;for(s>0&&(i.push(Number(t.slice(0,s))),o=s);o<r;)i.push(Number(t.slice(o,o+3))),o+=3;const u=[];let c=i.length-1;for(let e=0;e<i.length;e++){const t=i[e];if(0!==t)if(0===c)u.push("feminine"===n?R(t):E(t));else{const e=I(t,y[c-1]),n=1===c?R(t):E(t);u.push(n+" "+e)}c--}return u.join(" ")}(e,n)}function B(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?b[n]:1===t?d[n]:0===n?m[t]:f[t]+" "+b[n]}function x(e){if(e<100n)return B(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),r=n%100;return 0===r?p[t]:a[t]+" "+B(r)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);return 0===t?1===n?w[0]:R(n)+" "+w[0]:R(n)+" "+I(n,y[0])+" "+x(BigInt(t))}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let s=0;for(i>0&&(r.push(Number(n.slice(0,i))),s=i);s<t;)r.push(Number(n.slice(s,s+3))),s+=3;let o=r.length-1;for(;o>=0&&0===r[o];)o--;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const t=e===o;if(0===c)u.push(t?x(BigInt(n)):E(n));else if(t)if(1===n)u.push(w[c-1]);else{const e=1===c?R(n):E(n);u.push(e+" "+w[c-1])}else{const e=I(n,y[c-1]),t=1===c?R(n):E(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}const P={srCyrlRS:function(e){return x(function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e))}};e.currency={srCyrlRS:function(e,n){n=o(n);const{isNegative:r,dollars:i,cents:u}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(t(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e),{and:c=!0}=n;let l="";return r&&(l=h+" "),(i>0n||0n===u)&&(l+=O(i,"masculine"),l+=" "+I(i,N)),u>0n&&(i>0n&&(l+=c?" и ":" "),l+=O(u,"feminine"),l+=" "+I(u,v)),l}},e.ordinal=P,e.srCyrlRS=function(e,s){s=o(s);const{isNegative:u,integerPart:c,decimalPart:l}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===s)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e),{gender:f="masculine"}=s;let a="";return u&&(a=h+" "),a+=O(c,f),l&&(a+=" запета "+function(e,n){let t="",r=0;for(;r<e.length&&"0"===e[r];)t&&(t+=" "),t+=g,r++;const i=e.slice(r);return i&&(t&&(t+=" "),t+=O(BigInt(i),n)),t}(l,f)),a}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sr-Latn-RS v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[t,i]=e.toLowerCase().split("e");const n=parseInt(i,10);let r="";"-"===t[0]&&(r="-",t=t.slice(1));const s=t.indexOf("."),a=-1===s?t:t.slice(0,s)+t.slice(s+1),o=(-1===s?t.length:s)+n;return o>=a.length?r+a+"0".repeat(o-a.length):o<=0?r+"0."+"0".repeat(-o)+a:r+a.slice(0,o)+"."+a.slice(o)}function t(t){const n=t.toString();return i(n)?e(n):n}function i(e){return e.includes("e")||e.includes("E")}function n(e){const t="-"===e[0];t&&(e=e.slice(1));const i=e.indexOf(".");if(-1===i)return{isNegative:t,integerPart:BigInt(e)};const n=e.slice(0,i)||"0",r=e.slice(i+1);return{isNegative:t,integerPart:BigInt(n),decimalPart:r}}function r(t){let n=t.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid currency format: "${t}"`);i(n)&&(n=e(n));const r="-"===n[0];r&&(n=n.slice(1));const s=n.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(n),cents:0n};const a=n.slice(0,s)||"0",o=(n.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(a),cents:BigInt(o)}}function s(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const a=["","jedan","dva","tri","četiri","pet","šest","sedam","osam","devet"],o=["","jedna","dve","tri","četiri","pet","šest","sedam","osam","devet"],u=["deset","jedanaest","dvanaest","trinaest","četrnaest","petnaest","šesnaest","sedamnaest","osamnaest","devetnaest"],l=["","","dvadeset","trideset","četrdeset","pedeset","šezdeset","sedamdeset","osamdeset","devedeset"],d=["","sto","dvesta","trista","četiristo","petsto","šesto","sedamsto","osamsto","devetsto"],c="nula",f="minus",g=["","prvi","drugi","treći","četvrti","peti","šesti","sedmi","osmi","deveti"],m=["deseti","jedanaesti","dvanaesti","trinaesti","četrnaesti","petnaesti","šesnaesti","sedamnaesti","osamnaesti","devetnaesti"],h=["","","dvadeseti","trideseti","četrdeseti","pedeseti","šezdeseti","sedamdeseti","osamdeseti","devedeseti"],p=["","stoti","dvestoti","tristoti","četiristoti","petstoti","šestoti","sedamstoti","osamstoti","devetstoti"],b=["hiljaditi","milioniti","milijarditi","bilioniti","bilijarditi","trilioniti","trilijarditi","kvadrilioniti","kvadrilijarditi"],v=["dinar","dinara","dinara"],w=["para","pare","para"],N=[["hiljada","hiljade","hiljada"],["milion","miliona","miliona"],["milijarda","milijarde","milijarda"],["bilion","biliona","biliona"],["bilijarda","bilijarde","bilijarda"],["trilion","triliona","triliona"],["trilijarda","trilijarde","trilijarda"],["kvadrilion","kvadriliona","kvadriliona"],["kvadrilijarda","kvadrilijarde","kvadrilijarda"]];function j(e,t){const i="bigint"==typeof e?Number(e):e,n=i%10,r=i%100;return r>=11&&r<=19?t[2]:1===n?t[0]:n>=2&&n<=4?t[1]:t[2]}function I(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10)%10,n=Math.trunc(e/100),r=[];return n>0&&r.push(d[n]),i>1&&r.push(l[i]),1===i?r.push(u[t]):t>0&&r.push(a[t]),r.join(" ")}function E(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10)%10,n=Math.trunc(e/100),r=[];return n>0&&r.push(d[n]),i>1&&r.push(l[i]),1===i?r.push(u[t]):t>0&&r.push(o[t]),r.join(" ")}function y(e,t){return 0n===e?c:e<1000n?"feminine"===t?E(Number(e)):I(Number(e)):function(e,t){const i=e.toString(),n=i.length,r=[],s=n%3;let a=0;for(s>0&&(r.push(Number(i.slice(0,s))),a=s);a<n;)r.push(Number(i.slice(a,a+3))),a+=3;const o=[];let u=r.length-1;for(let e=0;e<r.length;e++){const i=r[e];if(0!==i)if(0===u)o.push("feminine"===t?E(i):I(i));else{const e=j(i,N[u-1]),t=1===u?E(i):I(i);o.push(t+" "+e)}u--}return o.join(" ")}(e,t)}function O(r,a){a=s(a);const{isNegative:o,integerPart:u,decimalPart:l}=function(r){const s=typeof r;if("bigint"===s)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"===s){if(!Number.isFinite(r))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(r)?r<0?{isNegative:!0,integerPart:BigInt(-r)}:{isNegative:!1,integerPart:BigInt(r)}:n(t(r))}if("string"===s)return n(function(t){const n=t.trim();if(0===n.length||Number.isNaN(Number(n)))throw new RangeError(`Invalid number format: "${t}"`);return i(n)?e(n):n}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{gender:d="masculine"}=a;let g="";return o&&(g=f+" "),g+=y(u,d),l&&(g+=" zapeta "+function(e,t){let i="",n=0;for(;n<e.length&&"0"===e[n];)i&&(i+=" "),i+=c,n++;const r=e.slice(n);return r&&(i&&(i+=" "),i+=y(BigInt(r),t)),i}(l,d)),g}function R(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10);return 0===i?g[t]:1===i?m[t]:0===t?h[i]:l[i]+" "+g[t]}function B(e){if(e<100n)return R(Number(e));if(e<1000n){const t=Number(e),i=Math.trunc(t/100),n=t%100;return 0===n?p[i]:d[i]+" "+R(n)}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);return 0===i?1===t?b[0]:E(t)+" "+b[0]:E(t)+" "+j(t,N[0])+" "+B(BigInt(i))}return function(e){const t=e.toString(),i=t.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(t.slice(0,r))),s=r);s<i;)n.push(Number(t.slice(s,s+3))),s+=3;let a=n.length-1;for(;a>=0&&0===n[a];)a--;const o=[];let u=n.length-1;for(let e=0;e<n.length;e++){const t=n[e];if(0!==t){const i=e===a;if(0===u)o.push(i?B(BigInt(t)):I(t));else if(i)if(1===t)o.push(b[u-1]);else{const e=1===u?E(t):I(t);o.push(e+" "+b[u-1])}else{const e=j(t,N[u-1]),i=1===u?E(t):I(t);o.push(i+" "+e)}}u--}return o.join(" ")}(e)}function P(t){return B(function(t){const n=typeof t;if("bigint"===n){if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}if("number"===n){if(!Number.isFinite(t))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(t))throw new RangeError("Ordinals must be whole numbers");if(t<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(t)}if("string"===n)return function(t){const n=t.trim();if(0===n.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===n[0])throw new RangeError("Ordinals cannot be negative");if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(n)){const t=e(n);if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(t);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const e=BigInt(n);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${t}"`)}}(t);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(t))}function k(e,i){i=s(i);const{isNegative:n,dollars:a,cents:o}=function(e){const i=typeof e;if("bigint"===i)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===i){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:r(t(e))}if("string"===i)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(e),{and:u=!0}=i;let l="";return n&&(l=f+" "),(a>0n||0n===o)&&(l+=y(a,"masculine"),l+=" "+j(a,v)),o>0n&&(a>0n&&(l+=u?" i ":" "),l+=y(o,"feminine"),l+=" "+j(o,w)),l}export{O as toCardinal,k as toCurrency,P as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sr-Latn-RS v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,t;e=this,t=function(e){"use strict";function t(e){let[t,i]=e.toLowerCase().split("e");const n=parseInt(i,10);let r="";"-"===t[0]&&(r="-",t=t.slice(1));const s=t.indexOf("."),o=-1===s?t:t.slice(0,s)+t.slice(s+1),a=(-1===s?t.length:s)+n;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function i(e){const i=e.toString();return n(i)?t(i):i}function n(e){return e.includes("e")||e.includes("E")}function r(e){const t="-"===e[0];t&&(e=e.slice(1));const i=e.indexOf(".");if(-1===i)return{isNegative:t,integerPart:BigInt(e)};const n=e.slice(0,i)||"0",r=e.slice(i+1);return{isNegative:t,integerPart:BigInt(n),decimalPart:r}}function s(e){let i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${e}"`);n(i)&&(i=t(i));const r="-"===i[0];r&&(i=i.slice(1));const s=i.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(i),cents:0n};const o=i.slice(0,s)||"0",a=(i.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}function o(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}const a=["","jedan","dva","tri","četiri","pet","šest","sedam","osam","devet"],u=["","jedna","dve","tri","četiri","pet","šest","sedam","osam","devet"],l=["deset","jedanaest","dvanaest","trinaest","četrnaest","petnaest","šesnaest","sedamnaest","osamnaest","devetnaest"],d=["","","dvadeset","trideset","četrdeset","pedeset","šezdeset","sedamdeset","osamdeset","devedeset"],c=["","sto","dvesta","trista","četiristo","petsto","šesto","sedamsto","osamsto","devetsto"],f="nula",g="minus",m=["","prvi","drugi","treći","četvrti","peti","šesti","sedmi","osmi","deveti"],p=["deseti","jedanaesti","dvanaesti","trinaesti","četrnaesti","petnaesti","šesnaesti","sedamnaesti","osamnaesti","devetnaesti"],h=["","","dvadeseti","trideseti","četrdeseti","pedeseti","šezdeseti","sedamdeseti","osamdeseti","devedeseti"],b=["","stoti","dvestoti","tristoti","četiristoti","petstoti","šestoti","sedamstoti","osamstoti","devetstoti"],v=["hiljaditi","milioniti","milijarditi","bilioniti","bilijarditi","trilioniti","trilijarditi","kvadrilioniti","kvadrilijarditi"],w=["dinar","dinara","dinara"],N=["para","pare","para"],j=[["hiljada","hiljade","hiljada"],["milion","miliona","miliona"],["milijarda","milijarde","milijarda"],["bilion","biliona","biliona"],["bilijarda","bilijarde","bilijarda"],["trilion","triliona","triliona"],["trilijarda","trilijarde","trilijarda"],["kvadrilion","kvadriliona","kvadriliona"],["kvadrilijarda","kvadrilijarde","kvadrilijarda"]];function I(e,t){const i="bigint"==typeof e?Number(e):e,n=i%10,r=i%100;return r>=11&&r<=19?t[2]:1===n?t[0]:n>=2&&n<=4?t[1]:t[2]}function y(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10)%10,n=Math.trunc(e/100),r=[];return n>0&&r.push(c[n]),i>1&&r.push(d[i]),1===i?r.push(l[t]):t>0&&r.push(a[t]),r.join(" ")}function E(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10)%10,n=Math.trunc(e/100),r=[];return n>0&&r.push(c[n]),i>1&&r.push(d[i]),1===i?r.push(l[t]):t>0&&r.push(u[t]),r.join(" ")}function R(e,t){return 0n===e?f:e<1000n?"feminine"===t?E(Number(e)):y(Number(e)):function(e,t){const i=e.toString(),n=i.length,r=[],s=n%3;let o=0;for(s>0&&(r.push(Number(i.slice(0,s))),o=s);o<n;)r.push(Number(i.slice(o,o+3))),o+=3;const a=[];let u=r.length-1;for(let e=0;e<r.length;e++){const i=r[e];if(0!==i)if(0===u)a.push("feminine"===t?E(i):y(i));else{const e=I(i,j[u-1]),t=1===u?E(i):y(i);a.push(t+" "+e)}u--}return a.join(" ")}(e,t)}function O(e){if(0===e)return"";const t=e%10,i=Math.trunc(e/10);return 0===i?m[t]:1===i?p[t]:0===t?h[i]:d[i]+" "+m[t]}function B(e){if(e<100n)return O(Number(e));if(e<1000n){const t=Number(e),i=Math.trunc(t/100),n=t%100;return 0===n?b[i]:c[i]+" "+O(n)}if(e<1000000n){const t=Number(e/1000n),i=Number(e%1000n);return 0===i?1===t?v[0]:E(t)+" "+v[0]:E(t)+" "+I(t,j[0])+" "+B(BigInt(i))}return function(e){const t=e.toString(),i=t.length,n=[],r=i%3;let s=0;for(r>0&&(n.push(Number(t.slice(0,r))),s=r);s<i;)n.push(Number(t.slice(s,s+3))),s+=3;let o=n.length-1;for(;o>=0&&0===n[o];)o--;const a=[];let u=n.length-1;for(let e=0;e<n.length;e++){const t=n[e];if(0!==t){const i=e===o;if(0===u)a.push(i?B(BigInt(t)):y(t));else if(i)if(1===t)a.push(v[u-1]);else{const e=1===u?E(t):y(t);a.push(e+" "+v[u-1])}else{const e=I(t,j[u-1]),i=1===u?E(t):y(t);a.push(i+" "+e)}}u--}return a.join(" ")}(e)}const x={srLatnRS:function(e){return B(function(e){const i=typeof e;if("bigint"===i){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===i){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===i)return function(e){const i=e.trim();if(0===i.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===i[0])throw new RangeError("Ordinals cannot be negative");if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");if(n(i)){const e=t(i);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const n=BigInt(e);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}try{const e=BigInt(i);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(t){if(t instanceof RangeError)throw t;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(e))}};e.currency={srLatnRS:function(e,t){t=o(t);const{isNegative:n,dollars:r,cents:a}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(i(e))}if("string"===t)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e),{and:u=!0}=t;let l="";return n&&(l=g+" "),(r>0n||0n===a)&&(l+=R(r,"masculine"),l+=" "+I(r,w)),a>0n&&(r>0n&&(l+=u?" i ":" "),l+=R(a,"feminine"),l+=" "+I(a,N)),l}},e.ordinal=x,e.srLatnRS=function(e,s){s=o(s);const{isNegative:a,integerPart:u,decimalPart:l}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:r(i(e))}if("string"===s)return r(function(e){const i=e.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${e}"`);return n(i)?t(i):i}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e),{gender:d="masculine"}=s;let c="";return a&&(c=g+" "),c+=R(u,d),l&&(c+=" zapeta "+function(e,t){let i="",n=0;for(;n<e.length&&"0"===e[n];)i&&(i+=" "),i+=f,n++;const r=e.slice(n);return r&&(i&&(i+=" "),i+=R(BigInt(r),t)),i}(l,d)),c}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/sv-SE.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sv-SE v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}const o=["","ett","två","tre","fyra","fem","sex","sju","åtta","nio"],s=["tio","elva","tolv","tretton","fjorton","femton","sexton","sjutton","arton","nitton"],u=["","","tjugo","trettio","fyrtio","femtio","sextio","sjuttio","åttio","nittio"],a="hundra",l="noll",c="minus",g=["tusen","miljon","miljard","biljon","biljard","triljon","triljard","kvadriljon"],d={1:"första",2:"andra",3:"tredje",4:"fjärde",5:"femte",6:"sjätte",7:"sjunde",8:"åttonde",9:"nionde",10:"tionde",11:"elfte",12:"tolfte"};function f(e){if(0===e)return{word:"",hasHundred:!1,lessThan100:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let l=!1;r>0&&(l=!0,i.push(1===r?a:o[r]+" "+a));let c="";return 1===t?c=s[n]:t>=2?c=n>0?u[t]+"-"+o[n]:u[t]:n>0&&(c=o[n]),l&&c?{word:i[0]+" och "+c,hasHundred:!0,lessThan100:!1}:l?{word:i[0],hasHundred:!0,lessThan100:!1}:{word:c,hasHundred:!1,lessThan100:!0}}function h(e){if(0n===e)return l;if(e<1000n)return f(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=1===n?g[0]:f(n).word+" "+g[0];if(t>0){const e=f(t);r+=e.lessThan100?" och "+e.word:" "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let o=0;for(i>0&&(r.push(Number(n.slice(0,i))),o=i);o<t;)r.push(Number(n.slice(o,o+3))),o+=3;const s=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=f(n);if(0===u)s.push({word:e.word,hasHundred:e.hasHundred,isScale:!1});else{const t=g[u-1];let r;r=1===n?1===u?"":"en":e.word,r&&s.push({word:r,hasHundred:!1,isScale:!1}),s.push({word:t,hasHundred:!1,isScale:!0})}}u--}return function(e){if(0===e.length)return l;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t];t===e.length-1&&e.length>1&&e[t-1].isScale&&!r.hasHundred&&n.push("och"),n.push(r.word)}return n.join(" ")}(s)}(e)}function m(i){const{isNegative:o,integerPart:s,decimalPart:u}=function(i){const o=typeof i;if("bigint"===o)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===o){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===o)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i);let a="";return o&&(a=c+" "),a+=h(s),u&&(a+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=l,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=h(BigInt(r))),n}(u)),a}function w(n){const r=function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return(i=r)>=1n&&i<=12n?d[Number(i)]:h(i)+"de";var i}function b(e){const{isNegative:t,dollars:r,cents:o}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let s="";return t&&(s=c+" "),(r>0n||0n===o)&&(s+=1n===r?"en krona":h(r)+" kronor"),o>0n&&(r>0n&&(s+=" och "),s+=h(o)+" öre"),s}export{m as toCardinal,b as toCurrency,w as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sv-SE v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}const s=["","ett","två","tre","fyra","fem","sex","sju","åtta","nio"],u=["tio","elva","tolv","tretton","fjorton","femton","sexton","sjutton","arton","nitton"],a=["","","tjugo","trettio","fyrtio","femtio","sextio","sjuttio","åttio","nittio"],l="hundra",c="noll",d="minus",f=["tusen","miljon","miljard","biljon","biljard","triljon","triljard","kvadriljon"],g={1:"första",2:"andra",3:"tredje",4:"fjärde",5:"femte",6:"sjätte",7:"sjunde",8:"åttonde",9:"nionde",10:"tionde",11:"elfte",12:"tolfte"};function h(e){if(0===e)return{word:"",hasHundred:!1,lessThan100:!1};const n=e%10,t=Math.trunc(e/10)%10,r=Math.trunc(e/100),i=[];let o=!1;r>0&&(o=!0,i.push(1===r?l:s[r]+" "+l));let c="";return 1===t?c=u[n]:t>=2?c=n>0?a[t]+"-"+s[n]:a[t]:n>0&&(c=s[n]),o&&c?{word:i[0]+" och "+c,hasHundred:!0,lessThan100:!1}:o?{word:i[0],hasHundred:!0,lessThan100:!1}:{word:c,hasHundred:!1,lessThan100:!0}}function m(e){if(0n===e)return c;if(e<1000n)return h(Number(e)).word;if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);let r=1===n?f[0]:h(n).word+" "+f[0];if(t>0){const e=h(t);r+=e.lessThan100?" och "+e.word:" "+e.word}return r}return function(e){const n=e.toString(),t=n.length,r=[],i=t%3;let o=0;for(i>0&&(r.push(Number(n.slice(0,i))),o=i);o<t;)r.push(Number(n.slice(o,o+3))),o+=3;const s=[];let u=r.length-1;for(let e=0;e<r.length;e++){const n=r[e];if(0!==n){const e=h(n);if(0===u)s.push({word:e.word,hasHundred:e.hasHundred,isScale:!1});else{const t=f[u-1];let r;r=1===n?1===u?"":"en":e.word,r&&s.push({word:r,hasHundred:!1,isScale:!1}),s.push({word:t,hasHundred:!1,isScale:!0})}}u--}return function(e){if(0===e.length)return c;if(1===e.length)return e[0].word;const n=[];for(let t=0;t<e.length;t++){const r=e[t];t===e.length-1&&e.length>1&&e[t-1].isScale&&!r.hasHundred&&n.push("och"),n.push(r.word)}return n.join(" ")}(s)}(e)}const w={svSE:function(e){const t=function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return(i=t)>=1n&&i<=12n?g[Number(i)]:m(i)+"de";var i}};e.currency={svSE:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let s="";return n&&(s=d+" "),(r>0n||0n===i)&&(s+=1n===r?"en krona":m(r)+" kronor"),i>0n&&(r>0n&&(s+=" och "),s+=m(i)+" öre"),s}},e.ordinal=w,e.svSE=function(e){const{isNegative:o,integerPart:s,decimalPart:u}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===o)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e);let a="";return o&&(a=d+" "),a+=m(s),u&&(a+=" komma "+function(e){let n="",t=0;for(;t<e.length&&"0"===e[t];)n&&(n+=" "),n+=c,t++;const r=e.slice(t);return r&&(n&&(n+=" "),n+=m(BigInt(r))),n}(u)),a}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/sw-KE.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sw-KE v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function n(n){let[e,i]=n.toLowerCase().split("e");const t=parseInt(i,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),a=-1===s?e:e.slice(0,s)+e.slice(s+1),o=(-1===s?e.length:s)+t;return o>=a.length?r+a+"0".repeat(o-a.length):o<=0?r+"0."+"0".repeat(-o)+a:r+a.slice(0,o)+"."+a.slice(o)}function e(e){const t=e.toString();return i(t)?n(t):t}function i(n){return n.includes("e")||n.includes("E")}function t(n){const e="-"===n[0];e&&(n=n.slice(1));const i=n.indexOf(".");if(-1===i)return{isNegative:e,integerPart:BigInt(n)};const t=n.slice(0,i)||"0",r=n.slice(i+1);return{isNegative:e,integerPart:BigInt(t),decimalPart:r}}function r(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const a=t.slice(0,s)||"0",o=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(a),cents:BigInt(o)}}const s=["sifuri","moja","mbili","tatu","nne","tano","sita","saba","nane","tisa"],a={10:"kumi",20:"ishirini",30:"thelathini",40:"arobaini",50:"hamsini",60:"sitini",70:"sabini",80:"themanini",90:"tisini"},o=["","elfu","milioni","bilioni","trilioni","kwadrilioni","kwintilioni"],u="sifuri",c="minus",l={1:"wa kwanza",2:"wa pili",3:"wa tatu",4:"wa nne",5:"wa tano",6:"wa sita",7:"wa saba",8:"wa nane",9:"wa tisa"};function g(n){if(n<10)return s[n];if(10===n)return a[10];if(n<20)return a[10]+" na "+s[n-10];const e=10*Math.trunc(n/10),i=n%10;return 0===i?a[e]:a[e]+" na "+s[i]}function f(n){if(n<100)return g(n);if(100===n)return"mia moja";const e=Math.trunc(n/100),i=n%100,t=[];return t.push("mia "+s[e]),i>0&&t.push(i<10?"na "+s[i]:g(i)),t.join(" ")}function m(n){if(0n===n)return u;const e=function(n){const e=[];let i=n;for(;i>0n;)e.push(Number(i%1000n)),i/=1000n;return e}(n),i=[];for(let n=e.length-1;n>=0;n--){const t=e[n];if(0!==t)if(0===n)i.push(t<10&&i.length>0?"na "+s[t]:100===t&&i.length>0?"mia":f(t));else{const e=1===t?"moja":f(t);i.push(o[n]+" "+e)}}return i.join(" ").trim()}function w(r){const{isNegative:s,integerPart:a,decimalPart:o}=function(r){const s=typeof r;if("bigint"===s)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"===s){if(!Number.isFinite(r))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(r)?r<0?{isNegative:!0,integerPart:BigInt(-r)}:{isNegative:!1,integerPart:BigInt(r)}:t(e(r))}if("string"===s)return t(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r);let l="";return s&&(l=c+" "),l+=m(a),o&&(l+=" nukta "+function(n){let e="",i=0;for(;i<n.length&&"0"===n[i];)e&&(e+=" "),e+=u,i++;const t=n.slice(i);return t&&(e&&(e+=" "),e+=m(BigInt(t))),e}(o)),l}function b(e){const t=function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(e);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);return(r=t)>=1n&&r<=9n?l[Number(r)]:"wa "+m(r);var r}function h(n){const{isNegative:i,dollars:t,cents:s}=function(n){const i=typeof n;if("bigint"===i)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===i){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:r(e(n))}if("string"===i)return r(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(n);let a="";return i&&(a=c+" "),(t>0n||0n===s)&&(a+="shilingi "+m(t)),s>0n&&(t>0n&&(a+=" na "),a+="senti "+m(s)),a}export{w as toCardinal,h as toCurrency,b as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/sw-KE v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var n,e;n=this,e=function(n){"use strict";function e(n){let[e,t]=n.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===e[0]&&(r="-",e=e.slice(1));const s=e.indexOf("."),o=-1===s?e:e.slice(0,s)+e.slice(s+1),a=(-1===s?e.length:s)+i;return a>=o.length?r+o+"0".repeat(a-o.length):a<=0?r+"0."+"0".repeat(-a)+o:r+o.slice(0,a)+"."+o.slice(a)}function t(n){const t=n.toString();return i(t)?e(t):t}function i(n){return n.includes("e")||n.includes("E")}function r(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const i=n.slice(0,t)||"0",r=n.slice(t+1);return{isNegative:e,integerPart:BigInt(i),decimalPart:r}}function s(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);i(t)&&(t=e(t));const r="-"===t[0];r&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",a=(t.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(a)}}const o=["sifuri","moja","mbili","tatu","nne","tano","sita","saba","nane","tisa"],a={10:"kumi",20:"ishirini",30:"thelathini",40:"arobaini",50:"hamsini",60:"sitini",70:"sabini",80:"themanini",90:"tisini"},u=["","elfu","milioni","bilioni","trilioni","kwadrilioni","kwintilioni"],c="sifuri",l="minus",f={1:"wa kwanza",2:"wa pili",3:"wa tatu",4:"wa nne",5:"wa tano",6:"wa sita",7:"wa saba",8:"wa nane",9:"wa tisa"};function g(n){if(n<10)return o[n];if(10===n)return a[10];if(n<20)return a[10]+" na "+o[n-10];const e=10*Math.trunc(n/10),t=n%10;return 0===t?a[e]:a[e]+" na "+o[t]}function m(n){if(n<100)return g(n);if(100===n)return"mia moja";const e=Math.trunc(n/100),t=n%100,i=[];return i.push("mia "+o[e]),t>0&&i.push(t<10?"na "+o[t]:g(t)),i.join(" ")}function w(n){if(0n===n)return c;const e=function(n){const e=[];let t=n;for(;t>0n;)e.push(Number(t%1000n)),t/=1000n;return e}(n),t=[];for(let n=e.length-1;n>=0;n--){const i=e[n];if(0!==i)if(0===n)t.push(i<10&&t.length>0?"na "+o[i]:100===i&&t.length>0?"mia":m(i));else{const e=1===i?"moja":m(i);t.push(u[n]+" "+e)}}return t.join(" ").trim()}const d={swKE:function(n){const t=function(n){const t=typeof n;if("bigint"===t){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===t){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===t)return function(n){const t=n.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(n);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);return(r=t)>=1n&&r<=9n?f[Number(r)]:"wa "+w(r);var r}};n.currency={swKE:function(n){const{isNegative:e,dollars:i,cents:r}=function(n){const e=typeof n;if("bigint"===e)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===e){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:s(t(n))}if("string"===e)return s(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(n);let o="";return e&&(o=l+" "),(i>0n||0n===r)&&(o+="shilingi "+w(i)),r>0n&&(i>0n&&(o+=" na "),o+="senti "+w(r)),o}},n.ordinal=d,n.swKE=function(n){const{isNegative:s,integerPart:o,decimalPart:a}=function(n){const s=typeof n;if("bigint"===s)return n<0n?{isNegative:!0,integerPart:-n}:{isNegative:!1,integerPart:n};if("number"===s){if(!Number.isFinite(n))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(n)?n<0?{isNegative:!0,integerPart:BigInt(-n)}:{isNegative:!1,integerPart:BigInt(n)}:r(t(n))}if("string"===s)return r(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return i(t)?e(t):t}(n));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(n);let u="";return s&&(u=l+" "),u+=w(o),a&&(u+=" nukta "+function(n){let e="",t=0;for(;t<n.length&&"0"===n[t];)e&&(e+=" "),e+=c,t++;const i=n.slice(t);return i&&(e&&(e+=" "),e+=w(BigInt(i))),e}(a)),u}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n2words=n.n2words||{});
|
package/dist/ta-IN.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ta-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const t=n.toString();return r(t)?e(t):t}function r(e){return e.includes("e")||e.includes("E")}function t(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function i(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);r(t)&&(t=e(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const s="பூஜ்ஜியம்",o="மைனஸ்",u=["","முதல்","இரண்டாவது","மூன்றாவது","நான்காவது","ஐந்தாவது","ஆறாவது"],a=["பூஜ்ஜியம்","ஒன்று","இரண்டு","மூன்று","நான்கு","ஐந்து","ஆறு","ஏழு","எட்டு","ஒன்பது","பத்து","பதினொன்று","பன்னிரண்டு","பதிமூன்று","பதினான்கு","பதினைந்து","பதினாறு","பதினேழு","பதினெட்டு","பத்தொன்பது","இருபது","இருபத்தொன்று","இருபத்திரண்டு","இருபத்திமூன்று","இருபத்திநான்கு","இருபத்தைந்து","இருபத்தாறு","இருபத்தேழு","இருபத்தெட்டு","இருபத்தொன்பது","முப்பது","முப்பத்தொன்று","முப்பத்திரண்டு","முப்பத்திமூன்று","முப்பத்திநான்கு","முப்பத்தைந்து","முப்பத்தாறு","முப்பத்தேழு","முப்பத்தெட்டு","முப்பத்தொன்பது","நாற்பது","நாற்பத்தொன்று","நாற்பத்திரண்டு","நாற்பத்திமூன்று","நாற்பத்திநான்கு","நாற்பத்தைந்து","நாற்பத்தாறு","நாற்பத்தேழு","நாற்பத்தெட்டு","நாற்பத்தொன்பது","ஐம்பது","ஐம்பத்தொன்று","ஐம்பத்திரண்டு","ஐம்பத்திமூன்று","ஐம்பத்திநான்கு","ஐம்பத்தைந்து","ஐம்பத்தாறு","ஐம்பத்தேழு","ஐம்பத்தெட்டு","ஐம்பத்தொன்பது","அறுபது","அறுபத்தொன்று","அறுபத்திரண்டு","அறுபத்திமூன்று","அறுபத்திநான்கு","அறுபத்தைந்து","அறுபத்தாறு","அறுபத்தேழு","அறுபத்தெட்டு","அறுபத்தொன்பது","எழுபது","எழுபத்தொன்று","எழுபத்திரண்டு","எழுபத்திமூன்று","எழுபத்திநான்கு","எழுபத்தைந்து","எழுபத்தாறு","எழுபத்தேழு","எழுபத்தெட்டு","எழுபத்தொன்பது","எண்பது","எண்பத்தொன்று","எண்பத்திரண்டு","எண்பத்திமூன்று","எண்பத்திநான்கு","எண்பத்தைந்து","எண்பத்தாறு","எண்பத்தேழு","எண்பத்தெட்டு","எண்பத்தொன்பது","தொண்ணூறு","தொண்ணூற்று ஒன்று","தொண்ணூற்று இரண்டு","தொண்ணூற்று மூன்று","தொண்ணூற்று நான்கு","தொண்ணூற்று ஐந்து","தொண்ணூற்று ஆறு","தொண்ணூற்று ஏழு","தொண்ணூற்று எட்டு","தொண்ணூற்று ஒன்பது"],c=["","நூறு","இருநூறு","முன்னூறு","நானூறு","ஐநூறு","அறுநூறு","எழுநூறு","எண்நூறு","தொள்ளாயிரம்"],g=["","நூற்று","இருநூற்று","முன்னூற்று","நானூற்று","ஐநூற்று","அறுநூற்று","எழுநூற்று","எண்நூற்று","தொள்ளாயிரத்து"],l=["ஒன்று","இரண்டு","மூன்று","நான்கு","ஐந்து","ஆறு","ஏழு","எட்டு","ஒன்பது"],f=["","ஆயிரம்","லட்சம்","கோடி","அரபு","கராபு","நீல்","பத்ம","சங்கு"];function m(e){if(0===e)return"";if(e<100)return a[e];const n=Math.trunc(e/100),r=e%100;return 0===r?c[n]:g[n]+" "+a[r]}function b(e){if(0n===e)return s;if(e<1000n)return m(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?m(r):1===r?"ஒரு":a[r]),e>0&&f[e]&&t.push(f[e]))}return t.join(" ")}function d(i){const{isNegative:u,integerPart:a,decimalPart:c}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:t(n(i))}if("string"===s)return t(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return r(t)?e(t):t}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let g="";return u&&(g=o+" "),g+=b(a),c&&(g+=" புள்ளி "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?s:l[e-1])}return n.join(" ")}(c)),g}function w(n){const t=function(n){const t=typeof n;if("bigint"===t){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===t){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===t)return function(n){const t=n.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(n);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);return(i=t)>=1n&&i<=6n?u[Number(i)]:b(i)+"ஆவது";var i}function h(e){const{isNegative:r,dollars:t,cents:s}=function(e){const r=typeof e;if("bigint"===r)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===r){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===r)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);let u="";return r&&(u=o+" "),(t>0n||0n===s)&&(u+=b(t)+" ரூபாய்"),s>0n&&(t>0n&&(u+=" "),u+=b(s)+" பைசா"),u}export{d as toCardinal,h as toCurrency,w as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/ta-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function r(e){const r=e.toString();return t(r)?n(r):r}function t(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function s(e){let r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${e}"`);t(r)&&(r=n(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const o="பூஜ்ஜியம்",u="மைனஸ்",a=["","முதல்","இரண்டாவது","மூன்றாவது","நான்காவது","ஐந்தாவது","ஆறாவது"],c=["பூஜ்ஜியம்","ஒன்று","இரண்டு","மூன்று","நான்கு","ஐந்து","ஆறு","ஏழு","எட்டு","ஒன்பது","பத்து","பதினொன்று","பன்னிரண்டு","பதிமூன்று","பதினான்கு","பதினைந்து","பதினாறு","பதினேழு","பதினெட்டு","பத்தொன்பது","இருபது","இருபத்தொன்று","இருபத்திரண்டு","இருபத்திமூன்று","இருபத்திநான்கு","இருபத்தைந்து","இருபத்தாறு","இருபத்தேழு","இருபத்தெட்டு","இருபத்தொன்பது","முப்பது","முப்பத்தொன்று","முப்பத்திரண்டு","முப்பத்திமூன்று","முப்பத்திநான்கு","முப்பத்தைந்து","முப்பத்தாறு","முப்பத்தேழு","முப்பத்தெட்டு","முப்பத்தொன்பது","நாற்பது","நாற்பத்தொன்று","நாற்பத்திரண்டு","நாற்பத்திமூன்று","நாற்பத்திநான்கு","நாற்பத்தைந்து","நாற்பத்தாறு","நாற்பத்தேழு","நாற்பத்தெட்டு","நாற்பத்தொன்பது","ஐம்பது","ஐம்பத்தொன்று","ஐம்பத்திரண்டு","ஐம்பத்திமூன்று","ஐம்பத்திநான்கு","ஐம்பத்தைந்து","ஐம்பத்தாறு","ஐம்பத்தேழு","ஐம்பத்தெட்டு","ஐம்பத்தொன்பது","அறுபது","அறுபத்தொன்று","அறுபத்திரண்டு","அறுபத்திமூன்று","அறுபத்திநான்கு","அறுபத்தைந்து","அறுபத்தாறு","அறுபத்தேழு","அறுபத்தெட்டு","அறுபத்தொன்பது","எழுபது","எழுபத்தொன்று","எழுபத்திரண்டு","எழுபத்திமூன்று","எழுபத்திநான்கு","எழுபத்தைந்து","எழுபத்தாறு","எழுபத்தேழு","எழுபத்தெட்டு","எழுபத்தொன்பது","எண்பது","எண்பத்தொன்று","எண்பத்திரண்டு","எண்பத்திமூன்று","எண்பத்திநான்கு","எண்பத்தைந்து","எண்பத்தாறு","எண்பத்தேழு","எண்பத்தெட்டு","எண்பத்தொன்பது","தொண்ணூறு","தொண்ணூற்று ஒன்று","தொண்ணூற்று இரண்டு","தொண்ணூற்று மூன்று","தொண்ணூற்று நான்கு","தொண்ணூற்று ஐந்து","தொண்ணூற்று ஆறு","தொண்ணூற்று ஏழு","தொண்ணூற்று எட்டு","தொண்ணூற்று ஒன்பது"],g=["","நூறு","இருநூறு","முன்னூறு","நானூறு","ஐநூறு","அறுநூறு","எழுநூறு","எண்நூறு","தொள்ளாயிரம்"],f=["","நூற்று","இருநூற்று","முன்னூற்று","நானூற்று","ஐநூற்று","அறுநூற்று","எழுநூற்று","எண்நூற்று","தொள்ளாயிரத்து"],l=["ஒன்று","இரண்டு","மூன்று","நான்கு","ஐந்து","ஆறு","ஏழு","எட்டு","ஒன்பது"],d=["","ஆயிரம்","லட்சம்","கோடி","அரபு","கராபு","நீல்","பத்ம","சங்கு"];function b(e){if(0===e)return"";if(e<100)return c[e];const n=Math.trunc(e/100),r=e%100;return 0===r?g[n]:f[n]+" "+c[r]}function m(e){if(0n===e)return o;if(e<1000n)return b(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?b(r):1===r?"ஒரு":c[r]),e>0&&d[e]&&t.push(d[e]))}return t.join(" ")}const w={taIN:function(e){const r=function(e){const r=typeof e;if("bigint"===r){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===r){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===r)return function(e){const r=e.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const e=n(r);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(e);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);return(i=r)>=1n&&i<=6n?a[Number(i)]:m(i)+"ஆவது";var i}};e.currency={taIN:function(e){const{isNegative:n,dollars:t,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(r(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o=u+" "),(t>0n||0n===i)&&(o+=m(t)+" ரூபாய்"),i>0n&&(t>0n&&(o+=" "),o+=m(i)+" பைசா"),o}},e.ordinal=w,e.taIN=function(e){const{isNegative:s,integerPart:a,decimalPart:c}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(r(e))}if("string"===s)return i(function(e){const r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${e}"`);return t(r)?n(r):r}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let g="";return s&&(g=u+" "),g+=m(a),c&&(g+=" புள்ளி "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?o:l[e-1])}return n.join(" ")}(c)),g}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/te-IN.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/te-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const t=n.toString();return r(t)?e(t):t}function r(e){return e.includes("e")||e.includes("E")}function t(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function i(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);r(t)&&(t=e(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const s="సున్నా",o="మైనస్",u=["","మొదటి","రెండవ","మూడవ","నాలుగవ","ఐదవ","ఆరవ"],a=["సున్నా","ఒకటి","రెండు","మూడు","నాలుగు","ఐదు","ఆరు","ఏడు","ఎనిమిది","తొమ్మిది","పది","పదకొండు","పన్నెండు","పదమూడు","పద్నాలుగు","పదిహేను","పదహారు","పదిహేడు","పద్దెనిమిది","పంతొమ్మిది","ఇరవై","ఇరవై ఒక్కటి","ఇరవై రెండు","ఇరవై మూడు","ఇరవై నాలుగు","ఇరవై ఐదు","ఇరవై ఆరు","ఇరవై ఏడు","ఇరవై ఎనిమిది","ఇరవై తొమ్మిది","ముప్పై","ముప్పై ఒకటి","ముప్పై రెండు","ముప్పై మూడు","ముప్పై నాలుగు","ముప్పై ఐదు","ముప్పై ఆరు","ముప్పై ఏడు","ముప్పై ఎనిమిది","ముప్పై తొమ్మిది","నలభై","నలభై ఒకటి","నలభై రెండు","నలభై మూడు","నలభై నాలుగు","నలభై ఐదు","నలభై ఆరు","నలభై ఏడు","నలభై ఎనిమిది","నలభై తొమ్మిది","యాభై","యాభై ఒకటి","యాభై రెండు","యాభై మూడు","యాభై నాలుగు","యాభై ఐదు","యాభై ఆరు","యాభై ఏడు","యాభై ఎనిమిది","యాభై తొమ్మిది","అరవై","అరవై ఒకటి","అరవై రెండు","అరవై మూడు","అరవై నాలుగు","అరవై ఐదు","అరవై ఆరు","అరవై ఏడు","అరవై ఎనిమిది","అరవై తొమ్మిది","డెబ్బై","డెబ్బై ఒకటి","డెబ్బై రెండు","డెబ్బై మూడు","డెబ్బై నాలుగు","డెబ్బై ఐదు","డెబ్బై ఆరు","డెబ్బై ఏడు","డెబ్బై ఎనిమిది","డెబ్బై తొమ్మిది","ఎనభై","ఎనభై ఒకటి","ఎనభై రెండు","ఎనభై మూడు","ఎనభై నాలుగు","ఎనభై ఐదు","ఎనభై ఆరు","ఎనభై ఏడు","ఎనభై ఎనిమిది","ఎనభై తొమ్మిది","తొంభై","తొంభై ఒకటి","తొంభై రెండు","తొంభై మూడు","తొంభై నాలుగు","తొంభై ఐదు","తొంభై ఆరు","తొంభై ఏడు","తొంభై ఎనిమిది","తొంభై తొమ్మిది"],c=["","వంద","రెండు వందలు","మూడు వందలు","నాలుగు వందలు","ఐదు వందలు","ఆరు వందలు","ఏడు వందలు","ఎనిమిది వందలు","తొమ్మిది వందలు"],g=["ఒకటి","రెండు","మూడు","నాలుగు","ఐదు","ఆరు","ఏడు","ఎనిమిది","తొమ్మిది"],l=["","వెయ్యి","లక్ష","కోటి","అరబ్","ఖరబ్","నిల్","పడ్మ","శంకు"];function f(e){if(0===e)return"";if(e<100)return a[e];const n=Math.trunc(e/100),r=e%100;return 0===r?c[n]:c[n]+" "+a[r]}function m(e){if(0n===e)return s;if(e<1000n)return f(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?f(r):1===r?"ఒక":a[r]),e>0&&l[e]&&t.push(l[e]))}return t.join(" ")}function b(i){const{isNegative:u,integerPart:a,decimalPart:c}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:t(n(i))}if("string"===s)return t(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return r(t)?e(t):t}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let l="";return u&&(l=o+" "),l+=m(a),c&&(l+=" పాయింట్ "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?s:g[e-1])}return n.join(" ")}(c)),l}function d(n){const t=function(n){const t=typeof n;if("bigint"===t){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===t){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===t)return function(n){const t=n.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(n);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);return(i=t)>=1n&&i<=6n?u[Number(i)]:m(i)+"వ";var i}function w(e){const{isNegative:r,dollars:t,cents:s}=function(e){const r=typeof e;if("bigint"===r)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===r){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===r)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);let u="";return r&&(u=o+" "),(t>0n||0n===s)&&(u+=m(t),u+=" "+(1n===t?"రూపాయి":"రూపాయలు")),s>0n&&(t>0n&&(u+=" "),u+=m(s),u+=" "+(1n===s?"పైసా":"పైసలు")),u}export{b as toCardinal,w as toCurrency,d as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/te-IN v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,r]=e.toLowerCase().split("e");const t=parseInt(r,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+t;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function r(e){const r=e.toString();return t(r)?n(r):r}function t(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const r=e.indexOf(".");if(-1===r)return{isNegative:n,integerPart:BigInt(e)};const t=e.slice(0,r)||"0",i=e.slice(r+1);return{isNegative:n,integerPart:BigInt(t),decimalPart:i}}function s(e){let r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${e}"`);t(r)&&(r=n(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const o="సున్నా",u="మైనస్",a=["","మొదటి","రెండవ","మూడవ","నాలుగవ","ఐదవ","ఆరవ"],c=["సున్నా","ఒకటి","రెండు","మూడు","నాలుగు","ఐదు","ఆరు","ఏడు","ఎనిమిది","తొమ్మిది","పది","పదకొండు","పన్నెండు","పదమూడు","పద్నాలుగు","పదిహేను","పదహారు","పదిహేడు","పద్దెనిమిది","పంతొమ్మిది","ఇరవై","ఇరవై ఒక్కటి","ఇరవై రెండు","ఇరవై మూడు","ఇరవై నాలుగు","ఇరవై ఐదు","ఇరవై ఆరు","ఇరవై ఏడు","ఇరవై ఎనిమిది","ఇరవై తొమ్మిది","ముప్పై","ముప్పై ఒకటి","ముప్పై రెండు","ముప్పై మూడు","ముప్పై నాలుగు","ముప్పై ఐదు","ముప్పై ఆరు","ముప్పై ఏడు","ముప్పై ఎనిమిది","ముప్పై తొమ్మిది","నలభై","నలభై ఒకటి","నలభై రెండు","నలభై మూడు","నలభై నాలుగు","నలభై ఐదు","నలభై ఆరు","నలభై ఏడు","నలభై ఎనిమిది","నలభై తొమ్మిది","యాభై","యాభై ఒకటి","యాభై రెండు","యాభై మూడు","యాభై నాలుగు","యాభై ఐదు","యాభై ఆరు","యాభై ఏడు","యాభై ఎనిమిది","యాభై తొమ్మిది","అరవై","అరవై ఒకటి","అరవై రెండు","అరవై మూడు","అరవై నాలుగు","అరవై ఐదు","అరవై ఆరు","అరవై ఏడు","అరవై ఎనిమిది","అరవై తొమ్మిది","డెబ్బై","డెబ్బై ఒకటి","డెబ్బై రెండు","డెబ్బై మూడు","డెబ్బై నాలుగు","డెబ్బై ఐదు","డెబ్బై ఆరు","డెబ్బై ఏడు","డెబ్బై ఎనిమిది","డెబ్బై తొమ్మిది","ఎనభై","ఎనభై ఒకటి","ఎనభై రెండు","ఎనభై మూడు","ఎనభై నాలుగు","ఎనభై ఐదు","ఎనభై ఆరు","ఎనభై ఏడు","ఎనభై ఎనిమిది","ఎనభై తొమ్మిది","తొంభై","తొంభై ఒకటి","తొంభై రెండు","తొంభై మూడు","తొంభై నాలుగు","తొంభై ఐదు","తొంభై ఆరు","తొంభై ఏడు","తొంభై ఎనిమిది","తొంభై తొమ్మిది"],g=["","వంద","రెండు వందలు","మూడు వందలు","నాలుగు వందలు","ఐదు వందలు","ఆరు వందలు","ఏడు వందలు","ఎనిమిది వందలు","తొమ్మిది వందలు"],f=["ఒకటి","రెండు","మూడు","నాలుగు","ఐదు","ఆరు","ఏడు","ఎనిమిది","తొమ్మిది"],l=["","వెయ్యి","లక్ష","కోటి","అరబ్","ఖరబ్","నిల్","పడ్మ","శంకు"];function d(e){if(0===e)return"";if(e<100)return c[e];const n=Math.trunc(e/100),r=e%100;return 0===r?g[n]:g[n]+" "+c[r]}function b(e){if(0n===e)return o;if(e<1000n)return d(Number(e));const n=[];n.push(Number(e%1000n));let r=e/1000n;for(;r>0n;)n.push(Number(r%100n)),r/=100n;const t=[];for(let e=n.length-1;e>=0;e--){const r=n[e];0!==r&&(t.push(0===e?d(r):1===r?"ఒక":c[r]),e>0&&l[e]&&t.push(l[e]))}return t.join(" ")}const m={teIN:function(e){const r=function(e){const r=typeof e;if("bigint"===r){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===r){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===r)return function(e){const r=e.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const e=n(r);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(e);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e);return(i=r)>=1n&&i<=6n?a[Number(i)]:b(i)+"వ";var i}};e.currency={teIN:function(e){const{isNegative:n,dollars:t,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(r(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o=u+" "),(t>0n||0n===i)&&(o+=b(t),o+=" "+(1n===t?"రూపాయి":"రూపాయలు")),i>0n&&(t>0n&&(o+=" "),o+=b(i),o+=" "+(1n===i?"పైసా":"పైసలు")),o}},e.ordinal=m,e.teIN=function(e){const{isNegative:s,integerPart:a,decimalPart:c}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(r(e))}if("string"===s)return i(function(e){const r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${e}"`);return t(r)?n(r):r}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let g="";return s&&(g=u+" "),g+=b(a),c&&(g+=" పాయింట్ "+function(e){const n=[];for(const r of e){const e=parseInt(r,10);n.push(0===e?o:f[e-1])}return n.join(" ")}(c)),g}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/th-TH.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/th-TH v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function n(n){const r=n.toString();return t(r)?e(r):r}function t(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function i(n){let r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${n}"`);t(r)&&(r=e(r));const i="-"===r[0];i&&(r=r.slice(1));const s=r.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(r),cents:0n};const o=r.slice(0,s)||"0",u=(r.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const s=["หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],o="ศูนย์";function u(e){if(0===e)return"";let n=e;const t=[],r=Math.trunc(n/1e5);n%=1e5;const i=Math.trunc(n/1e4);n%=1e4;const o=Math.trunc(n/1e3);n%=1e3;const u=Math.trunc(n/100);n%=100;const c=Math.trunc(n/10),a=n%10;return r>0&&t.push(s[r-1]+"แสน"),i>0&&t.push(1===i?"หนึ่งหมื่น":s[i-1]+"หมื่น"),o>0&&t.push(s[o-1]+"พัน"),u>0&&t.push(s[u-1]+"ร้อย"),c>0&&t.push(1===c?"สิบ":2===c?"ยี่สิบ":s[c-1]+"สิบ"),a>0&&t.push(1===a&&(c>0||r>0||i>0||o>0||u>0||c>0)?"เอ็ด":s[a-1]),t.join("")}function c(e){if(0n===e)return o;const n=function(e){const n=[];let t=e;const r=1000000n;for(;t>0n;){const e=Number(t%r);n.unshift(e),t/=r}return n}(e),t=[];for(let e=0;e<n.length;e++){const r=n[e];if(0===r)continue;t.push(u(r));const i=n.length-e-1;i>0&&t.push("ล้าน".repeat(i))}return t.join("")}function a(i){const{isNegative:u,integerPart:a,decimalPart:g}=function(i){const s=typeof i;if("bigint"===s)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===s){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(n(i))}if("string"===s)return r(function(n){const r=n.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${n}"`);return t(r)?e(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(i);let l="";return u&&(l="ลบ"),l+=c(a),g&&(l+="จุด"+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?o:s[e-1])}return n.join("")}(g)),l}function g(n){const r=function(n){const r=typeof n;if("bigint"===r){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===r){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===r)return function(n){const r=n.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const n=e(r);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(r);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(n);return"ที่"+c(r)}function l(e){const{isNegative:t,dollars:r,cents:s}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:i(n(e))}if("string"===t)return i(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let o="";return t&&(o="ลบ"),o+=c(r),o+="บาท",s>0n?(o+=c(s),o+="สตางค์"):o+="ถ้วน",o}export{a as toCardinal,l as toCurrency,g as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/th-TH v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===n[0]&&(i="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+r;return u>=o.length?i+o+"0".repeat(u-o.length):u<=0?i+"0."+"0".repeat(-u)+o:i+o.slice(0,u)+"."+o.slice(u)}function t(e){const t=e.toString();return r(t)?n(t):t}function r(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const r=e.slice(0,t)||"0",i=e.slice(t+1);return{isNegative:n,integerPart:BigInt(r),decimalPart:i}}function s(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);r(t)&&(t=n(t));const i="-"===t[0];i&&(t=t.slice(1));const s=t.indexOf(".");if(-1===s)return{isNegative:i,dollars:BigInt(t),cents:0n};const o=t.slice(0,s)||"0",u=(t.slice(s+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(o),cents:BigInt(u)}}const o=["หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],u="ศูนย์";function c(e){if(0===e)return"";let n=e;const t=[],r=Math.trunc(n/1e5);n%=1e5;const i=Math.trunc(n/1e4);n%=1e4;const s=Math.trunc(n/1e3);n%=1e3;const u=Math.trunc(n/100);n%=100;const c=Math.trunc(n/10),a=n%10;return r>0&&t.push(o[r-1]+"แสน"),i>0&&t.push(1===i?"หนึ่งหมื่น":o[i-1]+"หมื่น"),s>0&&t.push(o[s-1]+"พัน"),u>0&&t.push(o[u-1]+"ร้อย"),c>0&&t.push(1===c?"สิบ":2===c?"ยี่สิบ":o[c-1]+"สิบ"),a>0&&t.push(1===a&&(c>0||r>0||i>0||s>0||u>0||c>0)?"เอ็ด":o[a-1]),t.join("")}function a(e){if(0n===e)return u;const n=function(e){const n=[];let t=e;const r=1000000n;for(;t>0n;){const e=Number(t%r);n.unshift(e),t/=r}return n}(e),t=[];for(let e=0;e<n.length;e++){const r=n[e];if(0===r)continue;t.push(c(r));const i=n.length-e-1;i>0&&t.push("ล้าน".repeat(i))}return t.join("")}const g={thTH:function(e){return"ที่"+a(function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(e);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e))}};e.currency={thTH:function(e){const{isNegative:n,dollars:r,cents:i}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:s(t(e))}if("string"===n)return s(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let o="";return n&&(o="ลบ"),o+=a(r),o+="บาท",i>0n?(o+=a(i),o+="สตางค์"):o+="ถ้วน",o}},e.ordinal=g,e.thTH=function(e){const{isNegative:s,integerPart:c,decimalPart:g}=function(e){const s=typeof e;if("bigint"===s)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===s){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:i(t(e))}if("string"===s)return i(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return r(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(e);let f="";return s&&(f="ลบ"),f+=a(c),g&&(f+="จุด"+function(e){const n=[];for(const t of e){const e=parseInt(t,10);n.push(0===e?u:o[e-1])}return n.join("")}(g)),f}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|
package/dist/tr-TR.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/tr-TR v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function n(n){let[e,t]=n.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===e[0]&&(i="-",e=e.slice(1));const o=e.indexOf("."),s=-1===o?e:e.slice(0,o)+e.slice(o+1),u=(-1===o?e.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function e(e){const r=e.toString();return t(r)?n(r):r}function t(n){return n.includes("e")||n.includes("E")}function r(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const r=n.slice(0,t)||"0",i=n.slice(t+1);return{isNegative:e,integerPart:BigInt(r),decimalPart:i}}function i(e){let r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid currency format: "${e}"`);t(r)&&(r=n(r));const i="-"===r[0];i&&(r=r.slice(1));const o=r.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(r),cents:0n};const s=r.slice(0,o)||"0",u=(r.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}const o=["","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz"],s=["on","on bir","on iki","on üç","on dört","on beş","on altı","on yedi","on sekiz","on dokuz"],u=["","","yirmi","otuz","kırk","elli","altmış","yetmiş","seksen","doksan"],c="bin",l="sıfır",a="eksi",g=["milyon","milyar","trilyon","katrilyon","kentilyon"],f={1:"birinci",2:"ikinci",3:"üçüncü",4:"dördüncü",5:"beşinci",6:"altıncı",7:"yedinci",8:"sekizinci",9:"dokuzuncu",10:"onuncu"};function d(n,e=" "){if(0===n)return"";const t=n%10,r=Math.trunc(n/10)%10,i=Math.trunc(n/100),c=[];i>0&&c.push(1===i?"yüz":o[i]+e+"yüz");const l=n%100;return 0===l||c.push(l<10?o[t]:l<20?s[t].replace(" ",e):0===t?u[r]:u[r]+e+o[t]),c.join(e)}function b(n,e){if(0n===n)return l;const t=e?"":" ";if(n<1000n)return d(Number(n),t);if(n<1000000n){const e=Number(n/1000n),r=Number(n%1000n);let i;return i=1===e?c:d(e,t)+t+c,r>0&&(i+=t+d(r,t)),i}return function(n,e){const t=e?"":" ",r=n.toString(),i=r.length,o=[],s=i%3;let u=0;for(s>0&&(o.push(Number(r.slice(0,s))),u=s);u<i;)o.push(Number(r.slice(u,u+3))),u+=3;const l=[];let a=o.length-1;for(let n=0;n<o.length;n++){const e=o[n];if(0!==e){const n=d(e,t);l.push(0===a?n:1===a?1===e?c:n+t+c:n+t+g[a-2])}a--}return l.join(t)}(n,e)}function m(i,o){o=function(n){if(void 0===n)return{};if(function(n){if(null===n||"object"!=typeof n)return!1;const e=Object.getPrototypeOf(n);return null===e||e===Object.prototype}(n))return n;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof n)}(o);const{isNegative:s,integerPart:u,decimalPart:c}=function(i){const o=typeof i;if("bigint"===o)return i<0n?{isNegative:!0,integerPart:-i}:{isNegative:!1,integerPart:i};if("number"===o){if(!Number.isFinite(i))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(i)?i<0?{isNegative:!0,integerPart:BigInt(-i)}:{isNegative:!1,integerPart:BigInt(i)}:r(e(i))}if("string"===o)return r(function(e){const r=e.trim();if(0===r.length||Number.isNaN(Number(r)))throw new RangeError(`Invalid number format: "${e}"`);return t(r)?n(r):r}(i));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(i),{dropSpaces:g=!1}=o,f=g?"":" ";let d="";return s&&(d=a+f),d+=b(u,g),c&&(d+=f+"virgül"+f+function(n,e){const t=e?"":" ";let r="",i=0;for(;i<n.length&&"0"===n[i];)r&&(r+=t),r+=l,i++;const o=n.slice(i);return o&&(r&&(r+=t),r+=b(BigInt(o),e)),r}(c,g)),d}function w(e){return function(n){if(n>=1n&&n<=10n)return f[Number(n)];const e=b(n,!0);return e+function(n){for(let e=n.length-1;e>=0;e--){const t=n[e];if("aıou".includes(t))return"ou".includes(t)?"uncu":"ıncı";if("eiöü".includes(t))return"öü".includes(t)?"üncü":"inci"}return"inci"}(e)}(function(e){const r=typeof e;if("bigint"===r){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===r){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===r)return function(e){const r=e.trim();if(0===r.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===r[0])throw new RangeError("Ordinals cannot be negative");if(r.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(r)){const e=n(r);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(e);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const n=BigInt(r);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${r}`)}(e))}function h(n){const{isNegative:t,dollars:r,cents:o}=function(n){const t=typeof n;if("bigint"===t)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===t){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:i(e(n))}if("string"===t)return i(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n);let s="";return t&&(s=a+" "),(r>0n||0n===o)&&(s+=b(r,!1)+" lira"),o>0n&&(r>0n&&(s+=" "),s+=b(o,!1)+" kuruş"),s}export{m as toCardinal,h as toCurrency,w as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/tr-TR v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var n,e;n=this,e=function(n){"use strict";function e(n){let[e,t]=n.toLowerCase().split("e");const r=parseInt(t,10);let i="";"-"===e[0]&&(i="-",e=e.slice(1));const o=e.indexOf("."),s=-1===o?e:e.slice(0,o)+e.slice(o+1),u=(-1===o?e.length:o)+r;return u>=s.length?i+s+"0".repeat(u-s.length):u<=0?i+"0."+"0".repeat(-u)+s:i+s.slice(0,u)+"."+s.slice(u)}function t(n){const t=n.toString();return r(t)?e(t):t}function r(n){return n.includes("e")||n.includes("E")}function i(n){const e="-"===n[0];e&&(n=n.slice(1));const t=n.indexOf(".");if(-1===t)return{isNegative:e,integerPart:BigInt(n)};const r=n.slice(0,t)||"0",i=n.slice(t+1);return{isNegative:e,integerPart:BigInt(r),decimalPart:i}}function o(n){let t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${n}"`);r(t)&&(t=e(t));const i="-"===t[0];i&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:i,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:i,dollars:BigInt(s),cents:BigInt(u)}}const s=["","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz"],u=["on","on bir","on iki","on üç","on dört","on beş","on altı","on yedi","on sekiz","on dokuz"],c=["","","yirmi","otuz","kırk","elli","altmış","yetmiş","seksen","doksan"],l="bin",a="sıfır",f="eksi",g=["milyon","milyar","trilyon","katrilyon","kentilyon"],d={1:"birinci",2:"ikinci",3:"üçüncü",4:"dördüncü",5:"beşinci",6:"altıncı",7:"yedinci",8:"sekizinci",9:"dokuzuncu",10:"onuncu"};function b(n,e=" "){if(0===n)return"";const t=n%10,r=Math.trunc(n/10)%10,i=Math.trunc(n/100),o=[];i>0&&o.push(1===i?"yüz":s[i]+e+"yüz");const l=n%100;return 0===l||o.push(l<10?s[t]:l<20?u[t].replace(" ",e):0===t?c[r]:c[r]+e+s[t]),o.join(e)}function m(n,e){if(0n===n)return a;const t=e?"":" ";if(n<1000n)return b(Number(n),t);if(n<1000000n){const e=Number(n/1000n),r=Number(n%1000n);let i;return i=1===e?l:b(e,t)+t+l,r>0&&(i+=t+b(r,t)),i}return function(n,e){const t=e?"":" ",r=n.toString(),i=r.length,o=[],s=i%3;let u=0;for(s>0&&(o.push(Number(r.slice(0,s))),u=s);u<i;)o.push(Number(r.slice(u,u+3))),u+=3;const c=[];let a=o.length-1;for(let n=0;n<o.length;n++){const e=o[n];if(0!==e){const n=b(e,t);c.push(0===a?n:1===a?1===e?l:n+t+l:n+t+g[a-2])}a--}return c.join(t)}(n,e)}const p={trTR:function(n){return function(n){if(n>=1n&&n<=10n)return d[Number(n)];const e=m(n,!0);return e+function(n){for(let e=n.length-1;e>=0;e--){const t=n[e];if("aıou".includes(t))return"ou".includes(t)?"uncu":"ıncı";if("eiöü".includes(t))return"öü".includes(t)?"üncü":"inci"}return"inci"}(e)}(function(n){const t=typeof n;if("bigint"===t){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===t){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===t)return function(n){const t=n.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(r(t)){const n=e(t);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const r=BigInt(n);if(r<=0n)throw new RangeError("Ordinals must be positive integers");return r}try{const n=BigInt(t);if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(n))}};n.currency={trTR:function(n){const{isNegative:e,dollars:r,cents:i}=function(n){const e=typeof n;if("bigint"===e)return n<0n?{isNegative:!0,dollars:-n,cents:0n}:{isNegative:!1,dollars:n,cents:0n};if("number"===e){if(!Number.isFinite(n))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(n)?n<0?{isNegative:!0,dollars:BigInt(-n),cents:0n}:{isNegative:!1,dollars:BigInt(n),cents:0n}:o(t(n))}if("string"===e)return o(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${e}`)}(n);let s="";return e&&(s=f+" "),(r>0n||0n===i)&&(s+=m(r,!1)+" lira"),i>0n&&(r>0n&&(s+=" "),s+=m(i,!1)+" kuruş"),s}},n.ordinal=p,n.trTR=function(n,o){o=function(n){if(void 0===n)return{};if(function(n){if(null===n||"object"!=typeof n)return!1;const e=Object.getPrototypeOf(n);return null===e||e===Object.prototype}(n))return n;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof n)}(o);const{isNegative:s,integerPart:u,decimalPart:c}=function(n){const o=typeof n;if("bigint"===o)return n<0n?{isNegative:!0,integerPart:-n}:{isNegative:!1,integerPart:n};if("number"===o){if(!Number.isFinite(n))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(n)?n<0?{isNegative:!0,integerPart:BigInt(-n)}:{isNegative:!1,integerPart:BigInt(n)}:i(t(n))}if("string"===o)return i(function(n){const t=n.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${n}"`);return r(t)?e(t):t}(n));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(n),{dropSpaces:l=!1}=o,g=l?"":" ";let d="";return s&&(d=f+g),d+=m(u,l),c&&(d+=g+"virgül"+g+function(n,e){const t=e?"":" ";let r="",i=0;for(;i<n.length&&"0"===n[i];)r&&(r+=t),r+=a,i++;const o=n.slice(i);return o&&(r&&(r+=t),r+=m(BigInt(o),e)),r}(c,l)),d}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n2words=n.n2words||{});
|
package/dist/uk-UA.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/uk-UA v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
function e(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",n=n.slice(1));const s=n.indexOf("."),o=-1===s?n:n.slice(0,s)+n.slice(s+1),u=(-1===s?n.length:s)+i;return u>=o.length?r+o+"0".repeat(u-o.length):u<=0?r+"0."+"0".repeat(-u)+o:r+o.slice(0,u)+"."+o.slice(u)}function n(n){const i=n.toString();return t(i)?e(i):i}function t(e){return e.includes("e")||e.includes("E")}function i(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function r(n){let i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid currency format: "${n}"`);t(i)&&(i=e(i));const r="-"===i[0];r&&(i=i.slice(1));const s=i.indexOf(".");if(-1===s)return{isNegative:r,dollars:BigInt(i),cents:0n};const o=i.slice(0,s)||"0",u=(i.slice(s+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(o),cents:BigInt(u)}}const s=["","один","два","три","чотири","п'ять","шiсть","сiм","вiсiм","дев'ять"],o=["","одна","двi","три","чотири","п'ять","шiсть","сiм","вiсiм","дев'ять"],u=["десять","одинадцять","дванадцять","тринадцять","чотирнадцять","п'ятнадцять","шiстнадцять","сiмнадцять","вiсiмнадцять","дев'ятнадцять"],c=["","","двадцять","тридцять","сорок","п'ятдесят","шiстдесят","сiмдесят","вiсiмдесят","дев'яносто"],l=["","сто","двiстi","триста","чотириста","п'ятсот","шiстсот","сiмсот","вiсiмсот","дев'ятсот"],f="нуль",a="мiнус",g=["","перший","другий","третiй","четвертий","п'ятий","шостий","сьомий","восьмий","дев'ятий"],h=["десятий","одинадцятий","дванадцятий","тринадцятий","чотирнадцятий","п'ятнадцятий","шiстнадцятий","сiмнадцятий","вiсiмнадцятий","дев'ятнадцятий"],m=["","","двадцятий","тридцятий","сороковий","п'ятдесятий","шiстдесятий","сiмдесятий","вiсiмдесятий","дев'яностий"],b=["","сотий","двохсотий","трьохсотий","чотирьохсотий","п'ятисотий","шестисотий","семисотий","восьмисотий","дев'ятисотий"],p=["тисячний","мiльйонний","мiльярдний","трильйонний"],d=["гривня","гривнi","гривень"],w=["копiйка","копiйки","копiйок"],N=[["тисяча","тисячi","тисяч"],["мiльйон","мiльйони","мiльйонiв"],["мiльярд","мiльярди","мiльярдiв"],["трильйон","трильйони","трильйонiв"],["квадрильйон","квадрильйони","квадрильйонiв"],["квiнтильйон","квiнтильйони","квiнтильйонiв"],["секстильйон","секстильйони","секстильйонiв"],["септильйон","септильйони","септильйонiв"],["октильйон","октильйони","октильйонiв"]];function v(e,n){const t="bigint"==typeof e?Number(e):e,i=t%10,r=t%100;return r>=11&&r<=19?n[2]:1===i?n[0]:i>=2&&i<=4?n[1]:n[2]}function I(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),t>1&&r.push(c[t]),1===t?r.push(u[n]):n>0&&r.push(s[n]),r.join(" ")}function E(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),t>1&&r.push(c[t]),1===t?r.push(u[n]):n>0&&r.push(o[n]),r.join(" ")}function y(e,n){return 0n===e?f:e<1000n?"feminine"===n?E(Number(e)):I(Number(e)):function(e,n){const t=e.toString(),i=t.length,r=[],s=i%3;let o=0;for(s>0&&(r.push(Number(t.slice(0,s))),o=s);o<i;)r.push(Number(t.slice(o,o+3))),o+=3;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const t=r[e];if(0!==t)if(0===c)u.push("feminine"===n?E(t):I(t));else{const e=v(t,N[c-1]),n=1===c?E(t):I(t);u.push(n+" "+e)}c--}return u.join(" ")}(e,n)}function O(r,s){s=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(s);const{isNegative:o,integerPart:u,decimalPart:c}=function(r){const s=typeof r;if("bigint"===s)return r<0n?{isNegative:!0,integerPart:-r}:{isNegative:!1,integerPart:r};if("number"===s){if(!Number.isFinite(r))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(r)?r<0?{isNegative:!0,integerPart:BigInt(-r)}:{isNegative:!1,integerPart:BigInt(r)}:i(n(r))}if("string"===s)return i(function(n){const i=n.trim();if(0===i.length||Number.isNaN(Number(i)))throw new RangeError(`Invalid number format: "${n}"`);return t(i)?e(i):i}(r));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${s}`)}(r),{gender:l="masculine"}=s;let g="";return o&&(g=a+" "),g+=y(u,l),c&&(g+=" кома "+function(e,n){let t="",i=0;for(;i<e.length&&"0"===e[i];)t&&(t+=" "),t+=f,i++;const r=e.slice(i);return r&&(t&&(t+=" "),t+=y(BigInt(r),n)),t}(c,l)),g}function R(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?g[n]:1===t?h[n]:0===n?m[t]:c[t]+" "+g[n]}function B(e){if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),i=n%100;return 0===i?b[t]:l[t]+" "+R(i)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return 1===n?p[0]:E(n)+" "+p[0];const i=v(n,N[0]);return E(n)+" "+i+" "+B(BigInt(t))}return function(e){const n=e.toString(),t=n.length,i=[],r=t%3;let s=0;for(r>0&&(i.push(Number(n.slice(0,r))),s=r);s<t;)i.push(Number(n.slice(s,s+3))),s+=3;let o=i.length-1;for(;o>=0&&0===i[o];)o--;const u=[];let c=i.length-1;for(let e=0;e<i.length;e++){const n=i[e];if(0!==n){const t=e===o;if(0===c)u.push(t?B(BigInt(n)):I(n));else if(t)if(1===n)u.push(p[c-1]);else{const e=1===c?E(n):I(n);u.push(e+" "+p[c-1])}else{const e=v(n,N[c-1]),t=1===c?E(n):I(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}function P(n){return B(function(n){const i=typeof n;if("bigint"===i){if(n<=0n)throw new RangeError("Ordinals must be positive integers");return n}if("number"===i){if(!Number.isFinite(n))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(n))throw new RangeError("Ordinals must be whole numbers");if(n<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(n)}if("string"===i)return function(n){const i=n.trim();if(0===i.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===i[0])throw new RangeError("Ordinals cannot be negative");if(i.includes("."))throw new RangeError("Ordinals must be whole numbers");if(t(i)){const n=e(i);if(n.includes("."))throw new RangeError("Ordinals must be whole numbers");const t=BigInt(n);if(t<=0n)throw new RangeError("Ordinals must be positive integers");return t}try{const e=BigInt(i);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(e){if(e instanceof RangeError)throw e;throw new RangeError(`Invalid ordinal format: "${n}"`)}}(n);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${i}`)}(n))}function j(e){const{isNegative:t,dollars:i,cents:s}=function(e){const t=typeof e;if("bigint"===t)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===t){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:r(n(e))}if("string"===t)return r(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e);let o="";return t&&(o=a+" "),(i>0n||0n===s)&&(o+=y(i,"feminine"),o+=" "+v(i,d)),s>0n&&(i>0n&&(o+=" "),o+=y(s,"feminine"),o+=" "+v(s,w)),o}export{O as toCardinal,j as toCurrency,P as toOrdinal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! n2words/uk-UA v4.0.0 | MIT License | github.com/forzagreen/n2words */
|
|
2
|
+
var e,n;e=this,n=function(e){"use strict";function n(e){let[n,t]=e.toLowerCase().split("e");const i=parseInt(t,10);let r="";"-"===n[0]&&(r="-",n=n.slice(1));const o=n.indexOf("."),s=-1===o?n:n.slice(0,o)+n.slice(o+1),u=(-1===o?n.length:o)+i;return u>=s.length?r+s+"0".repeat(u-s.length):u<=0?r+"0."+"0".repeat(-u)+s:r+s.slice(0,u)+"."+s.slice(u)}function t(e){const t=e.toString();return i(t)?n(t):t}function i(e){return e.includes("e")||e.includes("E")}function r(e){const n="-"===e[0];n&&(e=e.slice(1));const t=e.indexOf(".");if(-1===t)return{isNegative:n,integerPart:BigInt(e)};const i=e.slice(0,t)||"0",r=e.slice(t+1);return{isNegative:n,integerPart:BigInt(i),decimalPart:r}}function o(e){let t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid currency format: "${e}"`);i(t)&&(t=n(t));const r="-"===t[0];r&&(t=t.slice(1));const o=t.indexOf(".");if(-1===o)return{isNegative:r,dollars:BigInt(t),cents:0n};const s=t.slice(0,o)||"0",u=(t.slice(o+1)+"00").slice(0,2);return{isNegative:r,dollars:BigInt(s),cents:BigInt(u)}}const s=["","один","два","три","чотири","п'ять","шiсть","сiм","вiсiм","дев'ять"],u=["","одна","двi","три","чотири","п'ять","шiсть","сiм","вiсiм","дев'ять"],c=["десять","одинадцять","дванадцять","тринадцять","чотирнадцять","п'ятнадцять","шiстнадцять","сiмнадцять","вiсiмнадцять","дев'ятнадцять"],f=["","","двадцять","тридцять","сорок","п'ятдесят","шiстдесят","сiмдесят","вiсiмдесят","дев'яносто"],l=["","сто","двiстi","триста","чотириста","п'ятсот","шiстсот","сiмсот","вiсiмсот","дев'ятсот"],a="нуль",g="мiнус",h=["","перший","другий","третiй","четвертий","п'ятий","шостий","сьомий","восьмий","дев'ятий"],b=["десятий","одинадцятий","дванадцятий","тринадцятий","чотирнадцятий","п'ятнадцятий","шiстнадцятий","сiмнадцятий","вiсiмнадцятий","дев'ятнадцятий"],m=["","","двадцятий","тридцятий","сороковий","п'ятдесятий","шiстдесятий","сiмдесятий","вiсiмдесятий","дев'яностий"],d=["","сотий","двохсотий","трьохсотий","чотирьохсотий","п'ятисотий","шестисотий","семисотий","восьмисотий","дев'ятисотий"],p=["тисячний","мiльйонний","мiльярдний","трильйонний"],w=["гривня","гривнi","гривень"],N=["копiйка","копiйки","копiйок"],v=[["тисяча","тисячi","тисяч"],["мiльйон","мiльйони","мiльйонiв"],["мiльярд","мiльярди","мiльярдiв"],["трильйон","трильйони","трильйонiв"],["квадрильйон","квадрильйони","квадрильйонiв"],["квiнтильйон","квiнтильйони","квiнтильйонiв"],["секстильйон","секстильйони","секстильйонiв"],["септильйон","септильйони","септильйонiв"],["октильйон","октильйони","октильйонiв"]];function I(e,n){const t="bigint"==typeof e?Number(e):e,i=t%10,r=t%100;return r>=11&&r<=19?n[2]:1===i?n[0]:i>=2&&i<=4?n[1]:n[2]}function y(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),t>1&&r.push(f[t]),1===t?r.push(c[n]):n>0&&r.push(s[n]),r.join(" ")}function E(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10)%10,i=Math.trunc(e/100),r=[];return i>0&&r.push(l[i]),t>1&&r.push(f[t]),1===t?r.push(c[n]):n>0&&r.push(u[n]),r.join(" ")}function O(e,n){return 0n===e?a:e<1000n?"feminine"===n?E(Number(e)):y(Number(e)):function(e,n){const t=e.toString(),i=t.length,r=[],o=i%3;let s=0;for(o>0&&(r.push(Number(t.slice(0,o))),s=o);s<i;)r.push(Number(t.slice(s,s+3))),s+=3;const u=[];let c=r.length-1;for(let e=0;e<r.length;e++){const t=r[e];if(0!==t)if(0===c)u.push("feminine"===n?E(t):y(t));else{const e=I(t,v[c-1]),n=1===c?E(t):y(t);u.push(n+" "+e)}c--}return u.join(" ")}(e,n)}function R(e){if(0===e)return"";const n=e%10,t=Math.trunc(e/10);return 0===t?h[n]:1===t?b[n]:0===n?m[t]:f[t]+" "+h[n]}function B(e){if(e<100n)return R(Number(e));if(e<1000n){const n=Number(e),t=Math.trunc(n/100),i=n%100;return 0===i?d[t]:l[t]+" "+R(i)}if(e<1000000n){const n=Number(e/1000n),t=Number(e%1000n);if(0===t)return 1===n?p[0]:E(n)+" "+p[0];const i=I(n,v[0]);return E(n)+" "+i+" "+B(BigInt(t))}return function(e){const n=e.toString(),t=n.length,i=[],r=t%3;let o=0;for(r>0&&(i.push(Number(n.slice(0,r))),o=r);o<t;)i.push(Number(n.slice(o,o+3))),o+=3;let s=i.length-1;for(;s>=0&&0===i[s];)s--;const u=[];let c=i.length-1;for(let e=0;e<i.length;e++){const n=i[e];if(0!==n){const t=e===s;if(0===c)u.push(t?B(BigInt(n)):y(n));else if(t)if(1===n)u.push(p[c-1]);else{const e=1===c?E(n):y(n);u.push(e+" "+p[c-1])}else{const e=I(n,v[c-1]),t=1===c?E(n):y(n);u.push(t+" "+e)}}c--}return u.join(" ")}(e)}const x={ukUA:function(e){return B(function(e){const t=typeof e;if("bigint"===t){if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}if("number"===t){if(!Number.isFinite(e))throw new RangeError("Ordinals must be finite numbers");if(!Number.isInteger(e))throw new RangeError("Ordinals must be whole numbers");if(e<=0)throw new RangeError("Ordinals must be positive integers");return BigInt(e)}if("string"===t)return function(e){const t=e.trim();if(0===t.length)throw new RangeError("Ordinals cannot be empty strings");if("-"===t[0])throw new RangeError("Ordinals cannot be negative");if(t.includes("."))throw new RangeError("Ordinals must be whole numbers");if(i(t)){const e=n(t);if(e.includes("."))throw new RangeError("Ordinals must be whole numbers");const i=BigInt(e);if(i<=0n)throw new RangeError("Ordinals must be positive integers");return i}try{const e=BigInt(t);if(e<=0n)throw new RangeError("Ordinals must be positive integers");return e}catch(n){if(n instanceof RangeError)throw n;throw new RangeError(`Invalid ordinal format: "${e}"`)}}(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${t}`)}(e))}};e.currency={ukUA:function(e){const{isNegative:n,dollars:i,cents:r}=function(e){const n=typeof e;if("bigint"===n)return e<0n?{isNegative:!0,dollars:-e,cents:0n}:{isNegative:!1,dollars:e,cents:0n};if("number"===n){if(!Number.isFinite(e))throw new RangeError("Currency must be a finite number");return Number.isSafeInteger(e)?e<0?{isNegative:!0,dollars:BigInt(-e),cents:0n}:{isNegative:!1,dollars:BigInt(e),cents:0n}:o(t(e))}if("string"===n)return o(e);throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${n}`)}(e);let s="";return n&&(s=g+" "),(i>0n||0n===r)&&(s+=O(i,"feminine"),s+=" "+I(i,w)),r>0n&&(i>0n&&(s+=" "),s+=O(r,"feminine"),s+=" "+I(r,N)),s}},e.ordinal=x,e.ukUA=function(e,o){o=function(e){if(void 0===e)return{};if(function(e){if(null===e||"object"!=typeof e)return!1;const n=Object.getPrototypeOf(e);return null===n||n===Object.prototype}(e))return e;throw new TypeError("Invalid options: expected plain object or undefined, got "+typeof e)}(o);const{isNegative:s,integerPart:u,decimalPart:c}=function(e){const o=typeof e;if("bigint"===o)return e<0n?{isNegative:!0,integerPart:-e}:{isNegative:!1,integerPart:e};if("number"===o){if(!Number.isFinite(e))throw new RangeError("Number must be finite (NaN and Infinity are not supported)");return Number.isSafeInteger(e)?e<0?{isNegative:!0,integerPart:BigInt(-e)}:{isNegative:!1,integerPart:BigInt(e)}:r(t(e))}if("string"===o)return r(function(e){const t=e.trim();if(0===t.length||Number.isNaN(Number(t)))throw new RangeError(`Invalid number format: "${e}"`);return i(t)?n(t):t}(e));throw new TypeError(`Invalid value type: expected number, string, or bigint, received ${o}`)}(e),{gender:f="masculine"}=o;let l="";return s&&(l=g+" "),l+=O(u,f),c&&(l+=" кома "+function(e,n){let t="",i=0;for(;i<e.length&&"0"===e[i];)t&&(t+=" "),t+=a,i++;const r=e.slice(i);return r&&(t&&(t+=" "),t+=O(BigInt(r),n)),t}(c,f)),l}},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).n2words=e.n2words||{});
|