UNPKG

nepali-number-system

Version:

Convert numbers to Nepali words representation, A TypeScript library to convert numbers into Nepali words, supporting both Nepali and English outputs

1 lines 4.63 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.nepaliNumberSystem=t():e.nepaliNumberSystem=t()}(this,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{default:()=>l});const n=(e,t)=>{if(isNaN(Number(e)))return"";const n=e.toString(),o=r(n,t);return"decimal"===o.type?"np"===t?`${o.beforeDecimal} रुपैयाँ ${o.afterDecimal} पैसा`:`${o.beforeDecimal} Rupees ${o.afterDecimal} Paisa`:"np"===t?`${o.converted} रुपैयाँ`:`${o.converted} Rupees`},r=(e,t)=>{const n=[],r="|One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve|Thirteen|Fourteen|Fifteen|Sixteen|Seventeen|Eighteen|Nineteen".split("|"),l="||Twenty|Thirty|Forty|Fifty|Sixty|Seventy|Eighty|Ninety".split("|"),s=["शून्य","एक","दुई","तीन","चार","पाँच","छ","सात","आठ","नौ","दस","एघार","बाह्र","तेह्र","चौध","पन्ध्र","सोह्र","सत्र","अठार","उन्नाइस","बीस","एक्काइस","बाइस","तेइस","चौबिस","पच्चिस","छब्बिस","सत्ताइस","अठ्ठाइस","उनन्तिस","तीस","एकतीस","बत्तिस","तेत्तिस","चौँतिस","पैँतिस","छत्तिस","सैँतिस","अठतीस","उनन्चालिस","चालीस","एकचालीस","बयालीस","त्रिचालिस","चवालीस","पैँतालीस","छयालिस","सच्चालिस","अठचालीस","उनन्चास","पचास","एकाउन्न","बाउन्न","त्रिपन्न","चवन्न","पचपन्न","छपन्न","सन्ताउन्न","अन्ठाउन्न","उनन्साठी","साठी","एकसट्ठी","बयसट्ठी","त्रिसट्ठी","चौंसट्ठी","पैंसट्ठी","छयसट्ठी","सतसट्ठी","अठसट्ठी","उनन्सत्तरी","सत्तरी","एकहत्तर","बहत्तर","त्रिहत्तर","चौहत्तर","पचहत्तर","छयहत्तर","सतहत्तर","अठहत्तर","उनासी","असी","एकासी","बयासी","त्रियासी","चौरासी","पचासी","छयासी","सतासी","अठासी","उनान्नब्बे","नब्बे","एकान्नब्बे","बयान्नब्बे","त्रियान्नब्बे","चौरान्नब्बे","पन्चानब्बे","छयान्नब्बे","सन्तान्नब्बे","अन्ठान्नब्बे","उनान्सय"];for(let e=0;e<100;e++){const t=Math.floor(e/10),o=e%10;n.push(t<2?r[e]:l[t]+(o?" "+r[o]:""))}if(e.includes(".")){const[r,l]=e.split(".");return{type:"decimal",original:e,beforeDecimal:"np"===t?a(r,s):c(r,n),afterDecimal:"np"===t?o(l,s):i(l,n)}}return{type:"integer",original:e,converted:"np"===t?a(e,s):c(e,n)}},o=(e,t)=>t[parseInt(e.slice(0,2))]||"",i=(e,t)=>t[parseInt(e.slice(0,2).padEnd(2,"0"))]||"",a=(e,t)=>{const n="हजार|लाख|करोड|अर्ब|खर्ब|नील|पद्म|शंख".split("|");let r=e.length;if("0"===e||"00"===e)return"शून्य";r=(e=0===r?"00":1===r||r%2==0?"0"+e:e).length;let o="";const i=10*e.charCodeAt(r-2)+e.charCodeAt(r-1)-528;if(0!==i&&(o=t[i]),r-=2,r>=1){const n=e.charCodeAt(r-1)-48;0!==n&&(o=t[n]+" सय"+(o?" "+o:"")),r-=1}for(let i=0;r>0;i++){const a=10*e.charCodeAt(r-2)+e.charCodeAt(r-1)-528;0!==a&&(o=t[a]+" "+n[i]+(o?" "+o:"")),r-=2}return o||"शून्य"},c=(e,t)=>{const n="Thousand|Lakh|Crore|Arab|Kharab|Nil".split("|");let r=e.length;r=(e=0===r?"00":1===r||r%2==0?"0"+e:e).length;let o=t[10*e.charCodeAt(r-=2)+e.charCodeAt(r+1)-528];if(r>=1){const n=t[e.charCodeAt(r-=1)-48];n&&(o=n+" Hundred"+(o?" "+o:""))}for(let i=0;r>0;i++){const a=t[10*e.charCodeAt(r-=2)+e.charCodeAt(r+1)-528];a&&(o=a+" "+n[i]+(o?" "+o:""))}return o||"Zero"};"undefined"!=typeof window&&(window.nepaliNumberSystem={convertNumberToWordsInNepaliSystem:n});const l={convertNumberToWordsInNepaliSystem:n};return t.default})()));