n2words 1.16.0 → 1.16.2

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/README.md CHANGED
@@ -4,9 +4,9 @@
4
4
  [![Coverage Status](https://coveralls.io/repos/github/forzagreen/n2words/badge.svg?branch=master)](https://coveralls.io/github/forzagreen/n2words?branch=master)
5
5
  [![npm](https://img.shields.io/npm/v/n2words.svg)](https://npmjs.com/package/n2words)
6
6
  [![npm](https://img.shields.io/npm/dw/n2words)](https://npmjs.com/package/n2words)
7
- [![](https://data.jsdelivr.com/v1/package/npm/n2words/badge)](https://www.jsdelivr.com/package/npm/n2words)
7
+ [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/n2words/badge)](https://www.jsdelivr.com/package/npm/n2words)
8
8
 
9
- __n2words__ converts a numerical number into a written one, supports [27 languages](https://github.com/forzagreen/n2words#supported-languages), and has zero dependencies.
9
+ __n2words__ converts numerical numbers into written ones, supports [27 languages](https://github.com/forzagreen/n2words#supported-languages), and has zero dependencies.
10
10
 
11
11
  ## Example
12
12
 
@@ -19,7 +19,7 @@ n2words(123, {lang: 'es'}) // 'ciento veintitrés'
19
19
  n2words(123, {lang: 'ar'}) // 'مائة و ثلاثة و عشرون'
20
20
  ```
21
21
 
22
- See the [Wiki](https://github.com/forzagreen/n2words/wiki) for examples and advanced usage.
22
+ See the [Wiki](https://github.com/forzagreen/n2words/wiki) for examples and advanced usage like [importing only specific languages](https://github.com/forzagreen/n2words/wiki/Importing-only-specific-languages).
23
23
 
24
24
  ## Install
25
25
 
@@ -27,8 +27,6 @@ See the [Wiki](https://github.com/forzagreen/n2words/wiki) for examples and adva
27
27
  npm install n2words
28
28
  ```
29
29
 
30
- n2words is also available on [jsDelivr](https://jsdelivr.com/package/npm/n2words).
31
-
32
30
  ## Usage
33
31
 
34
32
  ### ESM
@@ -37,26 +35,24 @@ n2words is also available on [jsDelivr](https://jsdelivr.com/package/npm/n2words
37
35
  import n2words from 'n2words'
38
36
  ```
39
37
 
40
- ### CommonJS
38
+ ### CommonJS ([dynamic import](https://nodejs.org/api/esm.html#import-expressions))
41
39
 
42
40
  ```js
43
- // Dynamic Import
44
- import('n2words').then(n2words => {
45
- // Available via "default" method
46
- n2words.default(100)
41
+ import('n2words').then(({default: n2words}) => {
42
+ n2words(100)
47
43
  })
48
44
  ```
49
45
 
50
46
  ### Browser
51
47
 
52
48
  ```html
53
- <script src="n2words.js"></script>
49
+ <script src="./n2words.js"></script>
54
50
  <script>
55
51
  n2words(100)
56
52
  </script>
57
53
  ```
58
54
 
59
- You can also [import only specific languages](https://github.com/forzagreen/n2words/wiki/Importing-only-specific-languages) if you don't need all of them.
55
+ n2words is also available on [jsDelivr](https://www.jsdelivr.com/package/npm/n2words).
60
56
 
61
57
  ## Supported Languages
62
58
 
@@ -90,7 +86,8 @@ You can also [import only specific languages](https://github.com/forzagreen/n2wo
90
86
 
91
87
  ## Contributing
92
88
 
93
- __This library is in active development.__ We are looking to improve the design and process for language contributors as well as add more languages.
89
+ __This library is in active development.__ We are looking to improve the design and process for language contributors and to add more languages. Bug reports and feature requests are also extremely helpful!
90
+
94
91
  ## License
95
92
 
96
93
  [MIT](https://github.com/forzagreen/n2words/blob/master/LICENSE)
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.n2words=t():e.n2words=t()}(this,(()=>(()=>{var e={9662:(e,t,n)=>{var i=n(614),r=n(6330),s=TypeError;e.exports=function(e){if(i(e))return e;throw s(r(e)+" is not a function")}},9670:(e,t,n)=>{var i=n(111),r=String,s=TypeError;e.exports=function(e){if(i(e))return e;throw s(r(e)+" is not an object")}},1318:(e,t,n)=>{var i=n(5656),r=n(1400),s=n(6244),o=function(e){return function(t,n,o){var a,l=i(t),u=s(l),c=r(o,u);if(e&&n!=n){for(;u>c;)if((a=l[c++])!=a)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},3658:(e,t,n)=>{"use strict";var i=n(9781),r=n(3157),s=TypeError,o=Object.getOwnPropertyDescriptor,a=i&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=a?function(e,t){if(r(e)&&!o(e,"length").writable)throw s("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},4326:(e,t,n)=>{var i=n(1702),r=i({}.toString),s=i("".slice);e.exports=function(e){return s(r(e),8,-1)}},9920:(e,t,n)=>{var i=n(2597),r=n(3887),s=n(1236),o=n(3070);e.exports=function(e,t,n){for(var a=r(t),l=o.f,u=s.f,c=0;c<a.length;c++){var d=a[c];i(e,d)||n&&i(n,d)||l(e,d,u(t,d))}}},8880:(e,t,n)=>{var i=n(9781),r=n(3070),s=n(9114);e.exports=i?function(e,t,n){return r.f(e,t,s(1,n))}:function(e,t,n){return e[t]=n,e}},9114:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},8052:(e,t,n)=>{var i=n(614),r=n(3070),s=n(6339),o=n(3072);e.exports=function(e,t,n,a){a||(a={});var l=a.enumerable,u=void 0!==a.name?a.name:t;if(i(n)&&s(n,u,a),a.global)l?e[t]=n:o(t,n);else{try{a.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=n:r.f(e,t,{value:n,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},3072:(e,t,n)=>{var i=n(7854),r=Object.defineProperty;e.exports=function(e,t){try{r(i,e,{value:t,configurable:!0,writable:!0})}catch(n){i[e]=t}return t}},9781:(e,t,n)=>{var i=n(7293);e.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4154:e=>{var t="object"==typeof document&&document.all,n=void 0===t&&void 0!==t;e.exports={all:t,IS_HTMLDDA:n}},317:(e,t,n)=>{var i=n(7854),r=n(111),s=i.document,o=r(s)&&r(s.createElement);e.exports=function(e){return o?s.createElement(e):{}}},7207:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},8113:e=>{e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},7392:(e,t,n)=>{var i,r,s=n(7854),o=n(8113),a=s.process,l=s.Deno,u=a&&a.versions||l&&l.version,c=u&&u.v8;c&&(r=(i=c.split("."))[0]>0&&i[0]<4?1:+(i[0]+i[1])),!r&&o&&(!(i=o.match(/Edge\/(\d+)/))||i[1]>=74)&&(i=o.match(/Chrome\/(\d+)/))&&(r=+i[1]),e.exports=r},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,t,n)=>{var i=n(7854),r=n(1236).f,s=n(8880),o=n(8052),a=n(3072),l=n(9920),u=n(4705);e.exports=function(e,t){var n,c,d,h,p,f=e.target,m=e.global,g=e.stat;if(n=m?i:g?i[f]||a(f,{}):(i[f]||{}).prototype)for(c in t){if(h=t[c],d=e.dontCallGetSet?(p=r(n,c))&&p.value:n[c],!u(m?c:f+(g?".":"#")+c,e.forced)&&void 0!==d){if(typeof h==typeof d)continue;l(h,d)}(e.sham||d&&d.sham)&&s(h,"sham",!0),o(n,c,h,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},4374:(e,t,n)=>{var i=n(7293);e.exports=!i((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},6916:(e,t,n)=>{var i=n(4374),r=Function.prototype.call;e.exports=i?r.bind(r):function(){return r.apply(r,arguments)}},6530:(e,t,n)=>{var i=n(9781),r=n(2597),s=Function.prototype,o=i&&Object.getOwnPropertyDescriptor,a=r(s,"name"),l=a&&"something"===function(){}.name,u=a&&(!i||i&&o(s,"name").configurable);e.exports={EXISTS:a,PROPER:l,CONFIGURABLE:u}},1702:(e,t,n)=>{var i=n(4374),r=Function.prototype,s=r.call,o=i&&r.bind.bind(s,s);e.exports=i?o:function(e){return function(){return s.apply(e,arguments)}}},5005:(e,t,n)=>{var i=n(7854),r=n(614);e.exports=function(e,t){return arguments.length<2?(n=i[e],r(n)?n:void 0):i[e]&&i[e][t];var n}},8173:(e,t,n)=>{var i=n(9662),r=n(8554);e.exports=function(e,t){var n=e[t];return r(n)?void 0:i(n)}},7854:function(e){var t=function(e){return e&&e.Math==Math&&e};e.exports=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof global&&global)||function(){return this}()||this||Function("return this")()},2597:(e,t,n)=>{var i=n(1702),r=n(7908),s=i({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return s(r(e),t)}},3501:e=>{e.exports={}},4664:(e,t,n)=>{var i=n(9781),r=n(7293),s=n(317);e.exports=!i&&!r((function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a}))},8361:(e,t,n)=>{var i=n(1702),r=n(7293),s=n(4326),o=Object,a=i("".split);e.exports=r((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==s(e)?a(e,""):o(e)}:o},2788:(e,t,n)=>{var i=n(1702),r=n(614),s=n(5465),o=i(Function.toString);r(s.inspectSource)||(s.inspectSource=function(e){return o(e)}),e.exports=s.inspectSource},9909:(e,t,n)=>{var i,r,s,o=n(4811),a=n(7854),l=n(111),u=n(8880),c=n(2597),d=n(5465),h=n(6200),p=n(3501),f="Object already initialized",m=a.TypeError,g=a.WeakMap;if(o||d.state){var v=d.state||(d.state=new g);v.get=v.get,v.has=v.has,v.set=v.set,i=function(e,t){if(v.has(e))throw m(f);return t.facade=e,v.set(e,t),t},r=function(e){return v.get(e)||{}},s=function(e){return v.has(e)}}else{var b=h("state");p[b]=!0,i=function(e,t){if(c(e,b))throw m(f);return t.facade=e,u(e,b,t),t},r=function(e){return c(e,b)?e[b]:{}},s=function(e){return c(e,b)}}e.exports={set:i,get:r,has:s,enforce:function(e){return s(e)?r(e):i(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw m("Incompatible receiver, "+e+" required");return n}}}},3157:(e,t,n)=>{var i=n(4326);e.exports=Array.isArray||function(e){return"Array"==i(e)}},614:(e,t,n)=>{var i=n(4154),r=i.all;e.exports=i.IS_HTMLDDA?function(e){return"function"==typeof e||e===r}:function(e){return"function"==typeof e}},4705:(e,t,n)=>{var i=n(7293),r=n(614),s=/#|\.prototype\./,o=function(e,t){var n=l[a(e)];return n==c||n!=u&&(r(t)?i(t):!!t)},a=o.normalize=function(e){return String(e).replace(s,".").toLowerCase()},l=o.data={},u=o.NATIVE="N",c=o.POLYFILL="P";e.exports=o},8554:e=>{e.exports=function(e){return null==e}},111:(e,t,n)=>{var i=n(614),r=n(4154),s=r.all;e.exports=r.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:i(e)||e===s}:function(e){return"object"==typeof e?null!==e:i(e)}},1913:e=>{e.exports=!1},2190:(e,t,n)=>{var i=n(5005),r=n(614),s=n(7976),o=n(3307),a=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=i("Symbol");return r(t)&&s(t.prototype,a(e))}},6244:(e,t,n)=>{var i=n(7466);e.exports=function(e){return i(e.length)}},6339:(e,t,n)=>{var i=n(1702),r=n(7293),s=n(614),o=n(2597),a=n(9781),l=n(6530).CONFIGURABLE,u=n(2788),c=n(9909),d=c.enforce,h=c.get,p=String,f=Object.defineProperty,m=i("".slice),g=i("".replace),v=i([].join),b=a&&!r((function(){return 8!==f((function(){}),"length",{value:8}).length})),y=String(String).split("String"),j=e.exports=function(e,t,n){"Symbol("===m(p(t),0,7)&&(t="["+g(p(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!o(e,"name")||l&&e.name!==t)&&(a?f(e,"name",{value:t,configurable:!0}):e.name=t),b&&n&&o(n,"arity")&&e.length!==n.arity&&f(e,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&f(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var i=d(e);return o(i,"source")||(i.source=v(y,"string"==typeof t?t:"")),e};Function.prototype.toString=j((function(){return s(this)&&h(this).source||u(this)}),"toString")},4758:e=>{var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var i=+e;return(i>0?n:t)(i)}},3070:(e,t,n)=>{var i=n(9781),r=n(4664),s=n(3353),o=n(9670),a=n(4948),l=TypeError,u=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",h="configurable",p="writable";t.f=i?s?function(e,t,n){if(o(e),t=a(t),o(n),"function"==typeof e&&"prototype"===t&&"value"in n&&p in n&&!n[p]){var i=c(e,t);i&&i[p]&&(e[t]=n.value,n={configurable:h in n?n[h]:i[h],enumerable:d in n?n[d]:i[d],writable:!1})}return u(e,t,n)}:u:function(e,t,n){if(o(e),t=a(t),o(n),r)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},1236:(e,t,n)=>{var i=n(9781),r=n(6916),s=n(5296),o=n(9114),a=n(5656),l=n(4948),u=n(2597),c=n(4664),d=Object.getOwnPropertyDescriptor;t.f=i?d:function(e,t){if(e=a(e),t=l(t),c)try{return d(e,t)}catch(e){}if(u(e,t))return o(!r(s.f,e,t),e[t])}},8006:(e,t,n)=>{var i=n(6324),r=n(748).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return i(e,r)}},5181:(e,t)=>{t.f=Object.getOwnPropertySymbols},7976:(e,t,n)=>{var i=n(1702);e.exports=i({}.isPrototypeOf)},6324:(e,t,n)=>{var i=n(1702),r=n(2597),s=n(5656),o=n(1318).indexOf,a=n(3501),l=i([].push);e.exports=function(e,t){var n,i=s(e),u=0,c=[];for(n in i)!r(a,n)&&r(i,n)&&l(c,n);for(;t.length>u;)r(i,n=t[u++])&&(~o(c,n)||l(c,n));return c}},5296:(e,t)=>{"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,r=i&&!n.call({1:2},1);t.f=r?function(e){var t=i(this,e);return!!t&&t.enumerable}:n},2140:(e,t,n)=>{var i=n(6916),r=n(614),s=n(111),o=TypeError;e.exports=function(e,t){var n,a;if("string"===t&&r(n=e.toString)&&!s(a=i(n,e)))return a;if(r(n=e.valueOf)&&!s(a=i(n,e)))return a;if("string"!==t&&r(n=e.toString)&&!s(a=i(n,e)))return a;throw o("Can't convert object to primitive value")}},3887:(e,t,n)=>{var i=n(5005),r=n(1702),s=n(8006),o=n(5181),a=n(9670),l=r([].concat);e.exports=i("Reflect","ownKeys")||function(e){var t=s.f(a(e)),n=o.f;return n?l(t,n(e)):t}},4488:(e,t,n)=>{var i=n(8554),r=TypeError;e.exports=function(e){if(i(e))throw r("Can't call method on "+e);return e}},6200:(e,t,n)=>{var i=n(2309),r=n(9711),s=i("keys");e.exports=function(e){return s[e]||(s[e]=r(e))}},5465:(e,t,n)=>{var i=n(7854),r=n(3072),s="__core-js_shared__",o=i[s]||r(s,{});e.exports=o},2309:(e,t,n)=>{var i=n(1913),r=n(5465);(e.exports=function(e,t){return r[e]||(r[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.30.2",mode:i?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:(e,t,n)=>{var i=n(7392),r=n(7293),s=n(7854).String;e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol();return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},1400:(e,t,n)=>{var i=n(9303),r=Math.max,s=Math.min;e.exports=function(e,t){var n=i(e);return n<0?r(n+t,0):s(n,t)}},5656:(e,t,n)=>{var i=n(8361),r=n(4488);e.exports=function(e){return i(r(e))}},9303:(e,t,n)=>{var i=n(4758);e.exports=function(e){var t=+e;return t!=t||0===t?0:i(t)}},7466:(e,t,n)=>{var i=n(9303),r=Math.min;e.exports=function(e){return e>0?r(i(e),9007199254740991):0}},7908:(e,t,n)=>{var i=n(4488),r=Object;e.exports=function(e){return r(i(e))}},7593:(e,t,n)=>{var i=n(6916),r=n(111),s=n(2190),o=n(8173),a=n(2140),l=n(5112),u=TypeError,c=l("toPrimitive");e.exports=function(e,t){if(!r(e)||s(e))return e;var n,l=o(e,c);if(l){if(void 0===t&&(t="default"),n=i(l,e,t),!r(n)||s(n))return n;throw u("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},4948:(e,t,n)=>{var i=n(7593),r=n(2190);e.exports=function(e){var t=i(e,"string");return r(t)?t:t+""}},6330:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},9711:(e,t,n)=>{var i=n(1702),r=0,s=Math.random(),o=i(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++r+s,36)}},3307:(e,t,n)=>{var i=n(6293);e.exports=i&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:(e,t,n)=>{var i=n(9781),r=n(7293);e.exports=i&&r((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:(e,t,n)=>{var i=n(7854),r=n(614),s=i.WeakMap;e.exports=r(s)&&/native code/.test(String(s))},5112:(e,t,n)=>{var i=n(7854),r=n(2309),s=n(2597),o=n(9711),a=n(6293),l=n(3307),u=i.Symbol,c=r("wks"),d=l?u.for||u:u&&u.withoutSetter||o;e.exports=function(e){return s(c,e)||(c[e]=a&&s(u,e)?u[e]:d("Symbol."+e)),c[e]}},7658:(e,t,n)=>{"use strict";var i=n(2109),r=n(7908),s=n(6244),o=n(3658),a=n(7207);i({target:"Array",proto:!0,arity:1,forced:n(7293)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=r(this),n=s(t),i=arguments.length;a(n+i);for(var l=0;l<i;l++)t[n]=arguments[l],n++;return o(t,n),n}})}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>I}),n(7658);const e=class{#e;#t;#n;#i;#r;constructor(e){e=Object.assign({negativeWord:"",separatorWord:void 0,zeroWord:void 0,spaceSeparator:" "},e),this.#e=e.negativeWord,this.#t=e.separatorWord,this.#n=e.zero,this.#i=e.spaceSeparator}get negativeWord(){return this.#e}get separatorWord(){return this.#t}get zero(){return this.#n}get spaceSeparator(){return this.#i}get wholeNumber(){return this.#r}decimalToCardinal(e){const t=[],n=e.split("").reverse();for(;"0"==n.pop();)t.push(this.zero);return t.concat(this.toCardinal(BigInt(e)))}floatToCardinal(e){if("number"==typeof e){if(Number.isNaN(e))throw new Error("NaN is not an accepted number.");e=e.toString()}else if("string"==typeof e){if(0==(e=e.trim()).length||Number.isNaN(Number(e)))throw new Error('"'+e+'" is not a valid number.')}else if("bigint"!=typeof e)throw new TypeError("Invalid variable type: "+typeof e);let t,n,i=[];if(e<0&&i.push(this.negativeWord),"bigint"==typeof e)t=e;else{const i=e.split(".");t=BigInt(i[0]),n=i[1]}return t<0&&(t=-t),this.#r=t,i=i.concat(this.toCardinal(t)),n&&(i.push(this.separatorWord),i=i.concat(this.decimalToCardinal(n))),i.join(this.spaceSeparator)}};class t extends e{integerValue=0;decimalValue=0;number=0;arabicOnes=["","واحد","اثنان","ثلاثة","أربعة","خمسة","ستة","سبعة","ثمانية","تسعة","عشرة","أحد عشر","اثنا عشر","ثلاثة عشر","أربعة عشر","خمسة عشر","ستة عشر","سبعة عشر","ثمانية عشر","تسعة عشر"];arabicFeminineOnes=["","إحدى","اثنتان","ثلاث","أربع","خمس","ست","سبع","ثمان","تسع","عشر","إحدى عشرة","اثنتا عشرة","ثلاث عشرة","أربع عشرة","خمس عشرة","ست عشرة","سبع عشرة","ثماني عشرة","تسع عشرة"];arabicTens=["عشرون","ثلاثون","أربعون","خمسون","ستون","سبعون","ثمانون","تسعون"];arabicHundreds=["","مائة","مئتان","ثلاثمائة","أربعمائة","خمسمائة","ستمائة","سبعمائة","ثمانمائة","تسعمائة"];arabicAppendedTwos=["مئتا","ألفا","مليونا","مليارا","تريليونا","كوادريليونا","كوينتليونا","سكستيليونا"];arabicTwos=["مئتان","ألفان","مليونان","ملياران","تريليونان","كوادريليونان","كوينتليونان","سكستيليونان"];arabicGroup=["مائة","ألف","مليون","مليار","تريليون","كوادريليون","كوينتليون","سكستيليون"];arabicAppendedGroup=["","ألفاً","مليوناً","ملياراً","تريليوناً","كوادريليوناً","كوينتليوناً","سكستيليوناً"];arabicPluralGroups=["","آلاف","ملايين","مليارات","تريليونات","كوادريليونات","كوينتليونات","سكستيليونات"];constructor(e){super(Object.assign({negativeWord:"ناقص",separatorWord:"فاصلة",zero:"صفر"},e))}digitFeminineStatus(e){return this.arabicOnes[parseInt(e)]}processArabicGroup(e,t,n){let i=e%100;const r=e/100;let s="";if(parseInt(r)>0&&(s=0==i&&2==parseInt(r)?this.arabicAppendedTwos[0]:this.arabicHundreds[parseInt(r)]),i>0)if(i<20)2==i&&0==parseInt(r)&&t>0?s=-1!=[2e3,2e6,2e9,2e12,2e15,2e18].indexOf(this.integerValue)?this.arabicAppendedTwos[parseInt(t)]:this.arabicTwos[parseInt(t)]:(""!=s&&(s+=" و "),s+=1==i&&t>0&&0==r?"":1!=i&&2!=i||0!=t&&-1!=t||0!=r||0!=n?this.digitFeminineStatus(parseInt(i),t):"");else{const e=i%10;i=i/10-2,e>0&&(""!=s&&i<4&&(s+=" و "),s+=this.digitFeminineStatus(e,t)),""!=s&&0!=e&&(s+=" و "),s+=this.arabicTens[parseInt(i)]}return s}toCardinal(e){if(0==(e=Number(e)))return this.zero;let t=e;this.integerValue=e;let n="",i=0;for(;t>0;){const e=parseInt(t%1e3);t=parseInt(t/1e3);const r=this.processArabicGroup(e,i,Math.floor(t));""!=r&&(i>0&&(""!=n&&(n=" و "+n),2!=e&&(n=e%100!=1?e>=3&&e<=10?this.arabicPluralGroups[i]+" "+n:""!=n?this.arabicAppendedGroup[i]+" "+n:this.arabicGroup[i]+" "+n:this.arabicGroup[i]+" "+n)),n=r+" "+n),i+=1}return n.trim()}}const r=class extends e{#s;constructor(e,t){super(e),this.#s=t}get cards(){return this.#s}getCardWord(e){const t=this.cards.find((t=>t[0]==e));return Array.isArray(t)?t[1]:void 0}toCardMatches(e){const t=[];let n=e;do{const e=this.cards.find((e=>n>=e[0]));let i;0==n?(i=1,n=0):(i=n/e[0],n%=e[0]),1==i?t.push({[this.getCardWord(1)]:1}):t.push(this.toCardMatches(i)),t.push({[e[1]]:e[0]})}while(n>0);return t}scanNum(e){return e.split("").map((e=>this.getCardWord(Number(e))))}clean(e){let t=e;for(;1!=e.length;){t=[];const n=e[0],i=e[1];if(Array.isArray(n)||Array.isArray(i))for(let n=0;n<e.length;n++){const i=e[n];Array.isArray(i)?1==i.length?t.push(i[0]):t.push(this.clean(i)):t.push(i)}else t.push(this.merge(n,i)),e.slice(2).length>0&&t.push(e.slice(2));e=t}return t[0]}postClean(e){return e.trimRight()}toCardinal(e){const t=this.toCardMatches(e),n=Object.keys(this.clean(t))[0];return this.postClean(n)}};class s extends r{constructor(e){super(Object.assign({negativeWord:"mənfi",separatorWord:"nöqtə",zero:"sıfır"},e),[[1000000000000000000n,"kentilyon"],[1000000000000000n,"katrilyon"],[1000000000000n,"trilyon"],[1000000000n,"milyar"],[1000000n,"milyon"],[1000n,"min"],[100n,"yüz"],[90n,"doxsan"],[80n,"səksən"],[70n,"yetmiş"],[60n,"altmış"],[50n,"əlli"],[40n,"qırx"],[30n,"otuz"],[20n,"iyirmi"],[10n,"on"],[9n,"doqquz"],[8n,"səkkiz"],[7n,"yeddi"],[6n,"altı"],[5n,"beş"],[4n,"dörd"],[3n,"üç"],[2n,"iki"],[1n,"bir"],[0n,"sıfır"]])}merge(e,t){const n=Object.keys(e)[0],i=Object.keys(t)[0],r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);return 1==r&&(s<=100||1e3==s)?{[i]:s}:s>r?{[`${n}${this.spaceSeparator}${i}`]:r*s}:{[`${n}${this.spaceSeparator}${i}`]:r+s}}}class o extends e{feminine;ones={1:"один",2:"два",3:"три",4:"четыре",5:"пять",6:"шесть",7:"семь",8:"восемь",9:"девять"};onesFeminine={1:"одна",2:"две",3:"три",4:"четыре",5:"пять",6:"шесть",7:"семь",8:"восемь",9:"девять"};tens={0:"десять",1:"одиннадцать",2:"двенадцать",3:"тринадцать",4:"четырнадцать",5:"пятнадцать",6:"шестнадцать",7:"семнадцать",8:"восемнадцать",9:"девятнадцать"};twenties={2:"двадцать",3:"тридцать",4:"сорок",5:"пятьдесят",6:"шестьдесят",7:"семьдесят",8:"восемьдесят",9:"девяносто"};hundreds={1:"сто",2:"двести",3:"триста",4:"четыреста",5:"пятьсот",6:"шестьсот",7:"семьсот",8:"восемьсот",9:"девятьсот"};thousands={1:["тысяча","тысячи","тысяч"],2:["миллион","миллиона","миллионов"],3:["миллиард","миллиарда","миллиардов"],4:["триллион","триллиона","триллионов"],5:["квадриллион","квадриллиона","квадриллионов"],6:["квинтиллион","квинтиллиона","квинтиллионов"],7:["секстиллион","секстиллиона","секстиллионов"],8:["септиллион","септиллиона","септиллионов"],9:["октиллион","октиллиона","октиллионов"],10:["нониллион","нониллиона","нониллионов"]};constructor(e){super(Object.assign({negativeWord:"минус",separatorWord:"запятая",zero:"ноль"},e)),e=Object.assign({feminine:!1}),this.feminine=e.feminine}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];let s=[];if(i-=1,0==r)continue;const[o,a,l]=this.getDigits(r);l>0&&t.push(this.hundreds[l]),a>1&&t.push(this.twenties[a]),1==a?t.push(this.tens[o]):o>0&&(s=1==i||this.feminine&&0==i?this.onesFeminine:this.ones,t.push(s[o])),i>0&&t.push(this.pluralize(r,this.thousands[i]))}return t.join(" ")}splitByX(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const i=[],r=e.length;let s;if(r>t){const o=r%t;o>0&&(s=e.slice(0,o),n?i.push(BigInt(s)):i.push(s));for(let a=o;a<r;a+=t)s=e.slice(a,a+t),n?i.push(BigInt(s)):i.push(s)}else n?i.push(BigInt(e)):i.push(e);return i}getDigits(e){return Array.from(e.toString().padStart(3,"0").slice(-3)).reverse().map((e=>BigInt(e)))}pluralize(e,t){let n=2;return(e%100n<10n||e%100n>20n)&&(e%10n==1n?n=0:e%10n<5n&&e%10n>1n&&(n=1)),t[n]}}class a extends o{ones={1:"jedna",2:"dva",3:"tři",4:"čtyři",5:"pět",6:"šest",7:"sedm",8:"osm",9:"devět"};tens={0:"deset",1:"jedenáct",2:"dvanáct",3:"třináct",4:"čtrnáct",5:"patnáct",6:"šestnáct",7:"sedmnáct",8:"osmnáct",9:"devatenáct"};twenties={2:"dvacet",3:"třicet",4:"čtyřicet",5:"padesát",6:"šedesát",7:"sedmdesát",8:"osmdesát",9:"devadesát"};hundreds={1:"sto",2:"dvě stě",3:"tři sta",4:"čtyři sta",5:"pět set",6:"šest set",7:"sedm set",8:"osm set",9:"devět set"};thousands={1:["tisíc","tisíce","tisíc"],2:["milion","miliony","milionů"],3:["miliarda","miliardy","miliard"],4:["bilion","biliony","bilionů"],5:["biliarda","biliardy","biliard"],6:["trilion","triliony","trilionů"],7:["triliarda","triliardy","triliard"],8:["kvadrilion","kvadriliony","kvadrilionů"],9:["kvadriliarda","kvadriliardy","kvadriliard"],10:["quintillion","quintilliony","quintillionů"]};constructor(e){super(Object.assign({negativeWord:"mínus",zero:"nula"},e))}get separatorWord(){return 0n==this.wholeNumber||1n==this.wholeNumber?"celá":this.wholeNumber>=2n&&this.wholeNumber<=4n?"celé":"celých"}pluralize(e,t){let n=2;return 1==e?n=0:e%10n<5n&&e%10n>1n&&(e%100n<10n||e%100n>20n)&&(n=1),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];if(i-=1,0==r)continue;const[s,o,a]=this.getDigits(r);a>0&&t.push(this.hundreds[a]),o>1&&t.push(this.twenties[o]),1==o?t.push(this.tens[s]):s>0&&!(i>0&&1==r)&&t.push(this.ones[s]),i>0&&t.push(this.pluralize(r,this.thousands[i]))}return t.join(" ")}}class l extends r{constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"komma",zero:"null"},e),[[1000000000000000000000000000n,"Quadrilliarde"],[1000000000000000000000000n,"Quadrillion"],[1000000000000000000000n,"Trilliarde"],[1000000000000000000n,"Trillion"],[1000000000000000n,"Billiarde"],[1000000000000n,"Billion"],[1000000000n,"Milliarde"],[1000000n,"Million"],[1000n,"tausend"],[100n,"hundert"],[90n,"neunzig"],[80n,"achtzig"],[70n,"siebzig"],[60n,"sechzig"],[50n,"fünfzig"],[40n,"vierzig"],[30n,"dreißig"],[20n,"zwanzig"],[19n,"neunzehn"],[18n,"achtzehn"],[17n,"siebzehn"],[16n,"sechzehn"],[15n,"fünfzehn"],[14n,"vierzehn"],[13n,"dreizehn"],[12n,"zwölf"],[11n,"elf"],[10n,"zehn"],[9n,"neun"],[8n,"acht"],[7n,"sieben"],[6n,"sechs"],[5n,"fünf"],[4n,"vier"],[3n,"drei"],[2n,"zwei"],[1n,"eins"],[0n,"null"]])}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);if(1==r){if(100==s||1e3==s)return{[`ein${i}`]:s};if(s<1e6)return{[i]:s};n="eine"}let o=0;if(s>r)s>=1e6&&(r>1&&("e"==i[i.length-1]?i+="n":i+="en"),n+=" "),o=r*s;else{if(s<10&&r>10&&r<100){1==s&&(i="ein");const e=i;i=n,n=`${e}und`}else r>=1e6&&(n+=" ");o=r+s}return{[`${n}${i}`]:o}}}class u extends r{ordFlag;constructor(e){super(e=Object.assign({negativeWord:"minus",separatorWord:"komma",zero:"nul",ordFlag:!1},e),[[1000000000000000000000000000n,"quadrillarder"],[1000000000000000000000000n,"quadrillioner"],[1000000000000000000000n,"trillarder"],[1000000000000000000n,"trillioner"],[1000000000000000n,"billarder"],[1000000000000n,"billioner"],[1000000000n,"millarder"],[1000000n,"millioner"],[1000n,"tusind"],[100n,"hundrede"],[90n,"halvfems"],[80n,"firs"],[70n,"halvfjerds"],[60n,"treds"],[50n,"halvtreds"],[40n,"fyrre"],[30n,"tredive"],[20n,"tyve"],[19n,"nitten"],[18n,"atten"],[17n,"sytten"],[16n,"seksten"],[15n,"femten"],[14n,"fjorten"],[13n,"tretten"],[12n,"tolv"],[11n,"elleve"],[10n,"ti"],[9n,"ni"],[8n,"otte"],[7n,"syv"],[6n,"seks"],[5n,"fem"],[4n,"fire"],[3n,"tre"],[2n,"to"],[1n,"et"],[0n,"nul"]]),this.ordFlag=e.ordFlag}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);let o=1;if(100!=s&&1e3!=s||(t={[`et${i}`]:s}),1==r){if(s<1e6||this.ordFlag)return t;n="en"}if(s>r)s>=1e6&&(n+=" "),o=r*s;else{if(r>=100&&r<1e3?n+=" og ":r>=1e3&&r<=1e5&&(n+="e og "),s<10&&10<r&&r<100){1==s&&(i="en");const e=i;i=n,n=e+"og"}else r>=1e6&&(n+=" ");o=r+s}return{[`${n+i}`]:o}}}class c extends r{constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"point",zero:"zero"},e),[[1000000000000000000000000000n,"octillion"],[1000000000000000000000000n,"septillion"],[1000000000000000000000n,"sextillion"],[1000000000000000000n,"quintillion"],[1000000000000000n,"quadrillion"],[1000000000000n,"trillion"],[1000000000n,"billion"],[1000000n,"million"],[1000n,"thousand"],[100n,"hundred"],[90n,"ninety"],[80n,"eighty"],[70n,"seventy"],[60n,"sixty"],[50n,"fifty"],[40n,"forty"],[30n,"thirty"],[20n,"twenty"],[19n,"nineteen"],[18n,"eighteen"],[17n,"seventeen"],[16n,"sixteen"],[15n,"fifteen"],[14n,"fourteen"],[13n,"thirteen"],[12n,"twelve"],[11n,"eleven"],[10n,"ten"],[9n,"nine"],[8n,"eight"],[7n,"seven"],[6n,"six"],[5n,"five"],[4n,"four"],[3n,"three"],[2n,"two"],[1n,"one"],[0n,"zero"]])}merge(e,t){const n=Object.keys(e)[0],i=BigInt(Object.values(e)[0]),r=Object.keys(t)[0],s=BigInt(Object.values(t)[0]);return 1==i&&s<100?{[r]:s}:100>i&&i>s?{[`${n}-${r}`]:i+s}:i>=100&&100>s?{[`${n} and ${r}`]:i+s}:s>i?{[`${n} ${r}`]:i*s}:{[`${n} ${r}`]:i+s}}}class d extends r{genderStem;constructor(e){super(e=Object.assign({negativeWord:"menos",separatorWord:"punto",zero:"cero",genderStem:"o"},e),[[1000000000000000000000000n,"cuatrillón"],[1000000000000000000n,"trillón"],[1000000000000n,"billón"],[1000000n,"millón"],[1000n,"mil"],[100n,"cien"],[90n,"noventa"],[80n,"ochenta"],[70n,"setenta"],[60n,"sesenta"],[50n,"cincuenta"],[40n,"cuarenta"],[30n,"treinta"],[29n,"veintinueve"],[28n,"veintiocho"],[27n,"veintisiete"],[26n,"veintiséis"],[25n,"veinticinco"],[24n,"veinticuatro"],[23n,"veintitrés"],[22n,"veintidós"],[21n,"veintiuno"],[20n,"veinte"],[19n,"diecinueve"],[18n,"dieciocho"],[17n,"diecisiete"],[16n,"dieciseis"],[15n,"quince"],[14n,"catorce"],[13n,"trece"],[12n,"doce"],[11n,"once"],[10n,"diez"],[9n,"nueve"],[8n,"ocho"],[7n,"siete"],[6n,"seis"],[5n,"cinco"],[4n,"cuatro"],[3n,"tres"],[2n,"dos"],[1n,"uno"],[0n,"cero"]]),this.genderStem=e.genderStem}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);if(1==r){if(s<1e6)return{[i]:s};n="un"}else 100==r&&s%1e3!=0&&(n+="t"+this.genderStem);return s<r?r<100?{[`${n} y ${i}`]:r+s}:{[`${n} ${i}`]:r+s}:(s%1e6==0&&r>1&&(i=i.slice(0,-3)+"lones"),100==s?(5==r?(n="quinien",i=""):7==r?n="sete":9==r&&(n="nove"),i+="t"+this.genderStem+"s"):i=" "+i,{[`${n}${i}`]:r*s})}}class h extends e{namedNumbers={0:"صفر",1:"یک",2:"دو",3:"سه",4:"چهار",5:"پنج",6:"شش",7:"هفت",8:"هشت",9:"نه",10:"ده",11:"یازده",12:"دوازده",13:"سیزده",14:"چهارده",15:"پانزده",16:"شانزده",17:"هفده",18:"هجده",19:"نوزده",20:"بیست",30:"سی",40:"چهل",50:"پنجاه",60:"شصت",70:"هفتاد",80:"هشتاد",90:"نود",100:"صد",200:"دویست",300:"سيصد",400:"چهار صد",500:"پانصد",600:"ششصد",700:"هفتصد",800:"هشتصد",900:"نهصد",1e3:"هزار",1e6:"میلیون"};constructor(e){super(Object.assign({negativeWord:"منفى",separatorWord:"ممیّز",zero:"صفر"},e))}toCardinal(e){if(this.namedNumbers[e])return this.namedNumbers[e];if(e>20n&&e<100n){let t=e%10n,n=e-t;return`${this.namedNumbers[n]} و ${this.namedNumbers[t]}`}if(e>100n&&e<1000n){let t=100n*(e/100n),n=this.toCardinal(e-t);return`${this.namedNumbers[t]} و ${n}`}if(e>1000n&&e<1000000n){let t=e/1000n,n=e-1000n*t;return`${(1n==t?"":this.toCardinal(t))+" "+this.namedNumbers[1e3]}${0n==n?"":" "+this.toCardinal(n)}`}if(e>1000000n){let t=e/1000000n,n=e-1000000n*t;return`${this.toCardinal(t)+" "+this.namedNumbers[1e6]}${0n==n?"":" و "+this.toCardinal(n)}`}}}class p extends r{constructor(e){super(Object.assign({negativeWord:"moins",separatorWord:"virgule",zero:"zéro"},e),[[1000000000000000000000000000n,"quadrilliard"],[1000000000000000000000000n,"quadrillion"],[1000000000000000000000n,"trilliard"],[1000000000000000000n,"trillion"],[1000000000000000n,"billiard"],[1000000000000n,"billion"],[1000000000n,"milliard"],[1000000n,"million"],[1000n,"mille"],[100n,"cent"],[80n,"quatre-vingts"],[60n,"soixante"],[50n,"cinquante"],[40n,"quarante"],[30n,"trente"],[20n,"vingt"],[19n,"dix-neuf"],[18n,"dix-huit"],[17n,"dix-sept"],[16n,"seize"],[15n,"quinze"],[14n,"quatorze"],[13n,"treize"],[12n,"douze"],[11n,"onze"],[10n,"dix"],[9n,"neuf"],[8n,"huit"],[7n,"sept"],[6n,"six"],[5n,"cinq"],[4n,"quatre"],[3n,"trois"],[2n,"deux"],[1n,"un"],[0n,"zéro"]])}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);if(1==r){if(s<1e6)return{[i]:s}}else((r-80)%100==0||r%100==0&&r<1e3)&&s<1e6&&"s"==n[n.length-1]&&(n=n.slice(0,-1)),r<1e3&&1e3!=s&&"s"!=i[i.length-1]&&s%100==0&&(i+="s");return s<r&&r<100?s%10==1&&80!=r?{[`${n} et ${i}`]:r+s}:{[`${n}-${i}`]:r+s}:s>r?{[`${n} ${i}`]:r*s}:{[`${n} ${i}`]:r+s}}}class f extends o{and;ones={1:"אחת",2:"שתים",3:"שלש",4:"ארבע",5:"חמש",6:"שש",7:"שבע",8:"שמונה",9:"תשע"};tens={0:"עשר",1:"אחת עשרה",2:"שתים עשרה",3:"שלש עשרה",4:"ארבע עשרה",5:"חמש עשרה",6:"שש עשרה",7:"שבע עשרה",8:"שמונה עשרה",9:"תשע עשרה"};twenties={2:"עשרים",3:"שלשים",4:"ארבעים",5:"חמישים",6:"ששים",7:"שבעים",8:"שמונים",9:"תשעים"};hundreds={1:"מאה",2:"מאתיים",3:"מאות"};thousands={1:"אלף",2:"אלפיים",3:"שלשת אלפים",4:"ארבעת אלפים",5:"חמשת אלפים",6:"ששת אלפים",7:"שבעת אלפים",8:"שמונת אלפים",9:"תשעת אלפים"};constructor(e){super(e=Object.assign({negativeWord:"מינוס",zero:"אפס",and:"ו"},e)),this.and=e.and}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];if(i-=1,0==r)continue;const[s,o,a]=this.getDigits(r);i>0?t.push(this.thousands[s]):(a>0&&(a<=2?t.push(this.hundreds[a]):t.push(this.ones[a]+" "+this.hundreds[3])),o>1&&t.push(this.twenties[o]),1==o?t.push(this.tens[s]):s>0&&!(i>0&&1==r)&&t.push(this.ones[s]),i>0&&t.push(this.thousands[i]))}return t.length>1&&(t[t.length-1]=this.and+t[t.length-1]),t.join(" ")}}class m extends o{ones={1:["jedan","jedna"],2:["dva","dvije"],3:["tri","tri"],4:["četiri","četiri"],5:["pet","pet"],6:["šest","šest"],7:["sedam","sedam"],8:["osam","osam"],9:["devet","devet"]};tens={0:"deset",1:"jedanaest",2:"dvanaest",3:"trinaest",4:"četrnaest",5:"petnaest",6:"šesnaest",7:"sedamnaest",8:"osamnaest",9:"devetnaest"};twenties={2:"dvadeset",3:"trideset",4:"četrdeset",5:"pedeset",6:"šezdeset",7:"sedamdeset",8:"osamdeset",9:"devedeset"};hundreds={1:"sto",2:"dvjesto",3:"tristo",4:"četiristo",5:"petsto",6:"šesto",7:"sedamsto",8:"osamsto",9:"devetsto"};SCALE={0:["","","",!1],1:["tisuća","tisuće","tisuća",!0],2:["milijun","milijuna","milijuna",!1],3:["milijarda","milijarde","milijarda",!1],4:["bilijun","bilijuna","bilijuna",!1],5:["bilijarda","bilijarde","bilijarda",!1],6:["trilijun","trilijuna","trilijuna",!1],7:["trilijarda","trilijarde","trilijarda",!1],8:["kvadrilijun","kvadrilijuna","kvadrilijuna",!1],9:["kvadrilijarda","kvadrilijarde","kvadrilijarda",!1],10:["kvintilijun","kvintilijuna","kvintilijuna",!1]};constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"zarez",zero:"nula"},e))}pluralize(e,t){let n=2;return(e%100n<10n||e%100n>20n)&&(e%10n==1n?n=0:e%10n>1n&&e%10n<5n&&(n=1)),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];i-=1;const[s,o,a]=this.getDigits(r);if(a>0&&t.push(this.hundreds[a]),o>1&&t.push(this.twenties[o]),1==o)t.push(this.tens[s]);else if(s>0){const e=this.feminine||this.SCALE[i][3]?1:0;t.push(this.ones[s][e])}i>0&&0!=r&&t.push(this.pluralize(r,this.SCALE[i]))}return t.join(" ")}}class g extends r{constructor(e){super(Object.assign({negativeWord:"mínusz",separatorWord:"egész",zero:"nulla"},e),[[1000000000000000000000000000n,"quadrilliárd"],[1000000000000000000000000n,"quadrillió"],[1000000000000000000000n,"trilliárd"],[1000000000000000000n,"trillió"],[1000000000000000n,"billiárd"],[1000000000000n,"billió"],[1000000000n,"milliárd"],[1000000n,"millió"],[1000n,"ezer"],[100n,"száz"],[90n,"kilencven"],[80n,"nyolcvan"],[70n,"hetven"],[60n,"hatvan"],[50n,"ötven"],[40n,"negyven"],[30n,"harminc"],[29n,"huszonkilenc"],[28n,"huszonnyolc"],[27n,"huszonhét"],[26n,"huszonhat"],[25n,"huszonöt"],[24n,"huszonnégy"],[23n,"huszonhárom"],[22n,"huszonkettő"],[21n,"huszonegy"],[20n,"húsz"],[19n,"tizenkilenc"],[18n,"tizennyolc"],[17n,"tizenhét"],[16n,"tizenhat"],[15n,"tizenöt"],[14n,"tizennégy"],[13n,"tizenhárom"],[12n,"tizenkettő"],[11n,"tizenegy"],[10n,"tíz"],[9n,"kilenc"],[8n,"nyolc"],[7n,"hét"],[6n,"hat"],[5n,"öt"],[4n,"négy"],[3n,"három"],[2n,"kettő"],[1n,"egy"],[0n,"nulla"]])}tensToCardinal(e){if(this.getCardWord(e))return this.getCardWord(e);{const t=Math.floor(e/10),n=e%10;return this.getCardWord(10*t)+this.toCardinal(n)}}hundredsToCardinal(e){const t=Math.floor(e/100);let n="száz";return 1!=t&&(n=this.toCardinal(t,"")+n),n+this.toCardinal(e%100,"")}thousandsToCardinal(e){const t=Math.floor(e/1e3);let n="ezer";1!=t&&(n=this.toCardinal(t,"")+n);let i=this.toCardinal(e%1e3,"");return n+(e<=2e3||""==i?"":"-")+i}bigNumberToCardinal(e){const t=e.toString().length;let n=t%3!=0?t:t-2,i=10**(3*Math.floor(n/3)),r=this.toCardinal(e/BigInt(i),""),s=this.toCardinal(e%BigInt(i),""),o=""!==s?"-"+s:"";return r+this.getCardWord(i)+o}toCardinal(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.zero,n="";return n=0n==e?t:""==t&&2==e?"két":e<30n?this.getCardWord(Number(e)):e<100n?this.tensToCardinal(Number(e)):e<1000n?this.hundredsToCardinal(Number(e)):e<1000000n?this.thousandsToCardinal(Number(e)):this.bigNumberToCardinal(e),n}}class v extends e{base={0:[],1:["satu"],2:["dua"],3:["tiga"],4:["empat"],5:["lima"],6:["enam"],7:["tujuh"],8:["delapan"],9:["sembilan"]};thousands={3:"ribu",6:"juta",9:"miliar",12:"triliun",15:"kuadriliun",18:"kuantiliun",21:"sekstiliun",24:"septiliun",27:"oktiliun",30:"noniliun",33:"desiliun"};constructor(e){super(Object.assign({negativeWord:"min",separatorWord:"koma",zero:"nol"},e))}splitBy3(e){let t,n=[],i=e.toString(),r=i.length;if(r<3)n.push([i]);else{let e=r%3;e>0&&(t=[i.slice(0,e)],n.push(t));for(let t=e;t<r;t+=3){let e=[i.slice(t,t+3)];n.push(e)}}return n}spell(e){let t,n=[],i=e[0];t=1==i[0].length?"0"==i[0]?["nol"]:this.base[parseInt(i[0])]:2==i[0].length?this.getTens(i[0]):this.getHundreds(i[0][0]).concat(this.getTens(i[0].slice(1,3))),n=n.concat([[i[0],t]]);for(let i=1;i<e.length;i++){let r=e[i];t=this.getHundreds(r[0][0]).concat(this.getTens(r[0].slice(1,3))),r=r.concat([t]),n=n.concat([r])}return n}getHundreds(e){return"1"==e?["seratus"]:"0"==e?[]:this.base[parseInt(e)].concat(["ratus"])}getTens(e){return"1"==e[0]?"0"==e[1]?["sepuluh"]:"1"==e[1]?["sebelas"]:this.base[parseInt(e[1])].concat(["belas"]):"0"==e[0]?this.base[parseInt(e[1])]:this.base[parseInt(e[0])].concat(["puluh"]).concat([this.base[parseInt(e[1])]])}join(e){let t=[],n=e.length-1,i=[e[0]],r=0;1==n&&"1"==i[0][0]&&(t.push("seribu"),r=1);for(let i=r;i<n+1;i++)if(t=t.concat(e[i][1]),e[i][1].length){if(i==n)break;t=t.concat([this.thousands[3*(n-i)]])}return t.join(" ")}toCardinal(e){return this.join(this.spell(this.splitBy3(e))).trim()}}class b extends r{cardinalWords=[this.zero,"uno","due","tre","quattro","cinque","sei","sette","otto","nove","dieci","undici","dodici","tredici","quattordici","quindici","sedici","diciassette","diciotto","diciannove"];strTens={2:"venti",3:"trenta",4:"quaranta",6:"sessanta"};exponentPrefixes=[this.zero,"m","b","tr","quadr","quint","sest","sett","ott","nov","dec"];constructor(e){super(Object.assign({negativeWord:"meno",separatorWord:"virgola",zero:"zero"},e),[])}accentuate(e){return e.split(" ").map((e=>"tre"==e.slice(-3)&&e.length>3?e.replace(/tré/g,"tre").slice(0,-3)+"tré":e.replace(/tré/g,"tre"))).join(" ")}omitIfZero(e){return e==this.zero?"":e}phoneticContraction(e){return e.replace(/oo/g,"o").replace(/ao/g,"o").replace(/io/g,"o").replace(/au/g,"u").replace(/iu/g,"u")}tensToCardinal(e){const t=Math.floor(e/10),n=e%10;let i;i=Object.prototype.hasOwnProperty.call(this.strTens,t)?this.strTens[t]:this.cardinalWords[t].slice(0,-1)+"anta";const r=this.omitIfZero(this.cardinalWords[n]);return this.phoneticContraction(i+r)}hundredsToCardinal(e){const t=Math.floor(e/100);let n="cento";1!=t&&(n=this.cardinalWords[t]+n);const i=this.omitIfZero(this.toCardinal(e%100));return this.phoneticContraction(n+i)}thousandsToCardinal(e){const t=Math.floor(e/1e3);let n;return n=1==t?"mille":this.toCardinal(t)+"mila",n+this.omitIfZero(this.toCardinal(e%1e3))}exponentLengthToString(e){const t=this.exponentPrefixes[Math.floor(e/6)];return e%6==0?t+"ilione":t+"iliardo"}bigNumberToCardinal(e){const t=Array.from(e.toString()),n=t.length%3==0?3:t.length%3,i=t.slice(0,n),r=t.slice(n);let s,o,a=this.exponentLengthToString(r.length);var l,u;return"1"==i.toString()?s="un ":(s=this.toCardinal(parseInt(i.join(""))),a=" "+a.slice(0,-1)+"i"),l=new Set(r),u=new Set(["0"]),l.size==u.size&&[...l].every((e=>u.has(e)))?o="":(o=this.toCardinal(parseInt(r.join(""))),o.includes(" e ")?a+=", ":a+=" e "),s+a+o}toCardinal(e){let t="";return t=e<20n?this.cardinalWords[e]:e<100n?this.tensToCardinal(Number(e)):e<1000n?this.hundredsToCardinal(Number(e)):e<1000000n?this.thousandsToCardinal(Number(e)):this.bigNumberToCardinal(e),this.accentuate(t)}}class y extends r{constructor(e){super(Object.assign({negativeWord:"마이너스",separatorWord:"점",zero:"영"},e),[[10000000000000000000000000000n,"양"],[1000000000000000000000000n,"자"],[100000000000000000000n,"해"],[10000000000000000n,"경"],[1000000000000n,"조"],[100000000n,"억"],[10000n,"만"],[1000n,"천"],[100n,"백"],[10n,"십"],[9n,"구"],[8n,"팔"],[7n,"칠"],[6n,"육"],[5n,"오"],[4n,"사"],[3n,"삼"],[2n,"이"],[1n,"일"],[0n,"영"]])}merge(e,t){const n=Object.keys(e)[0],i=Object.keys(t)[0],r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);return 1==r&&s<=1e4?{[i]:s}:1e4>r&&r>s?{[`${n}${i}`]:r+s}:r>=1e4&&r>s?{[`${n} ${i}`]:r+s}:{[`${n}${i}`]:r*s}}}class j extends o{ones={1:"vienas",2:"du",3:"trys",4:"keturi",5:"penki",6:"šeši",7:"septyni",8:"aštuoni",9:"devyni"};onesFeminine={1:"viena",2:"dvi",3:"trys",4:"keturios",5:"penkios",6:"šešios",7:"septynios",8:"aštuonios",9:"devynios"};tens={0:"dešimt",1:"vienuolika",2:"dvylika",3:"trylika",4:"keturiolika",5:"penkiolika",6:"šešiolika",7:"septyniolika",8:"aštuoniolika",9:"devyniolika"};twenties={2:"dvidešimt",3:"trisdešimt",4:"keturiasdešimt",5:"penkiasdešimt",6:"šešiasdešimt",7:"septyniasdešimt",8:"aštuoniasdešimt",9:"devyniasdešimt"};hundreds=["šimtas","šimtai"];thousands={1:["tūkstantis","tūkstančiai","tūkstančių"],2:["milijonas","milijonai","milijonų"],3:["milijardas","milijardai","milijardų"],4:["trilijonas","trilijonai","trilijonų"],5:["kvadrilijonas","kvadrilijonai","kvadrilijonų"],6:["kvintilijonas","kvintilijonai","kvintilijonų"],7:["sikstilijonas","sikstilijonai","sikstilijonų"],8:["septilijonas","septilijonai","septilijonų"],9:["oktilijonas","oktilijonai","oktilijonų"],10:["naintilijonas","naintilijonai","naintilijonų"]};constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"kablelis",zero:"nulis"},e))}pluralize(e,t){let n=1;const[i,r]=this.getDigits(e);return 1==r||0==i||0==e?n=2:1==i&&(n=0),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let r=0;r<n.length;r++){const s=n[r];if(i-=1,0==s)continue;const[o,a,l]=this.getDigits(s);l>0&&(t.push(this.ones[l]),l>1?t.push(this.hundreds[1]):t.push(this.hundreds[0])),a>1&&t.push(this.twenties[a]),1==a?t.push(this.tens[o]):o>0&&((1==i||this.feminine&&0==i)&&e<1e3?t.push(this.onesFeminine[o]):t.push(this.ones[o])),i>0&&t.push(this.pluralize(s,this.thousands[i]))}return t.join(" ")}}class z extends o{ones={1:"viens",2:"divi",3:"trīs",4:"četri",5:"pieci",6:"seši",7:"septiņi",8:"astoņi",9:"deviņi"};tens={0:"desmit",1:"vienpadsmit",2:"divpadsmit",3:"trīspadsmit",4:"četrpadsmit",5:"piecpadsmit",6:"sešpadsmit",7:"septiņpadsmit",8:"astoņpadsmit",9:"deviņpadsmit"};twenties={2:"divdesmit",3:"trīsdesmit",4:"četrdesmit",5:"piecdesmit",6:"sešdesmit",7:"septiņdesmit",8:"astoņdesmit",9:"deviņdesmit"};hundreds=["simts","simti","simtu"];thousands={1:["tūkstotis","tūkstoši","tūkstošu"],2:["miljons","miljoni","miljonu"],3:["miljards","miljardi","miljardu"],4:["triljons","triljoni","triljonu"],5:["kvadriljons","kvadriljoni","kvadriljonu"],6:["kvintiljons","kvintiljoni","kvintiljonu"],7:["sikstiljons","sikstiljoni","sikstiljonu"],8:["septiljons","septiljoni","septiljonu"],9:["oktiljons","oktiljoni","oktiljonu"],10:["nontiljons","nontiljoni","nontiljonu"]};constructor(e){super(Object.assign({negativeWord:"mīnus",separatorWord:"komats",zero:"nulle"},e))}pluralize(e,t){let n=2;return 0n!=e&&(n=e%10n==1n&&e%100n!=11n?0:1),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];if(i-=1,0==r)continue;const[s,o,a]=this.getDigits(r);a>0&&(1==a&&0==o&&s>0?t.push(this.hundreds[2]):a>1?(t.push(this.ones[a]),t.push(this.hundreds[1])):t.push(this.hundreds[0])),o>1&&t.push(this.twenties[o]),1==o?t.push(this.tens[s]):s>0&&!(i>0&&1==r)&&t.push(this.ones[s]),i>0&&t.push(this.pluralize(r,this.thousands[i]))}return t.join(" ")}}class k extends r{includeOptionalAnd;noHundredPairs;constructor(e){super(e=Object.assign({negativeWord:"min",separatorWord:"komma",zero:"nul",includeOptionalAnd:!1,noHundredPairs:!1},e),[[1000000000000000000000000000n,"quadriljard"],[1000000000000000000000000n,"quadriljoen"],[1000000000000000000000n,"triljard"],[1000000000000000000n,"triljoen"],[1000000000000000n,"biljard"],[1000000000000n,"biljoen"],[1000000000n,"miljard"],[1000000n,"miljoen"],[1000n,"duizend"],[100n,"honderd"],[90n,"negentig"],[80n,"tachtig"],[70n,"zeventig"],[60n,"zestig"],[50n,"vijftig"],[40n,"veertig"],[30n,"dertig"],[20n,"twintig"],[19n,"negentien"],[18n,"achttien"],[17n,"zeventien"],[16n,"zestien"],[15n,"vijftien"],[14n,"veertien"],[13n,"dertien"],[12n,"twaalf"],[11n,"elf"],[10n,"tien"],[9n,"negen"],[8n,"acht"],[7n,"zeven"],[6n,"zes"],[5n,"vijf"],[4n,"vier"],[3n,"drie"],[2n,"twee"],[1n,"een"],[0n,"nul"]]),this.includeOptionalAnd=e.includeOptionalAnd,this.noHundredPairs=e.noHundredPairs}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);if(1==r){if(s<1e6)return{[i]:s};n="een"}let o=0;if(s>r)s>=1e6?n+=" ":s>100&&(i+=" "),o=r*s;else{if(s<10&&r>10&&r<100){const e=i;i=n;const t=e.endsWith("e")?"ën":"en";n=`${e}${t}`}else s<13&&r<1e3&&this.includeOptionalAnd?n=`${n}en`:s<13&&r>=1e3&&this.includeOptionalAnd?i=` en ${i}`:(r>=1e6||1e3==r)&&(n+=" ");o=r+s}return{[`${n}${i}`]:o}}toCardinal(e){if(e>=1100n&&e<10000n&&!this.noHundredPairs){const t=e/100n,n=e%100n;if(t%10n!==0n)return super.toCardinal(t)+"honderd"+(n?(this.includeOptionalAnd?" en ":" ")+super.toCardinal(n):"")}return super.toCardinal(e)}}class w extends r{constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"komma",zero:"null"},e),[[1000000000000000000000000000000000n,"quintillard"],[1000000000000000000000000000000n,"quintillion"],[1000000000000000000000000000n,"quadrillard"],[1000000000000000000000000n,"quadrillion"],[1000000000000000000000n,"trillard"],[1000000000000000000n,"trillion"],[1000000000000000n,"billard"],[1000000000000n,"billion"],[1000000000n,"millard"],[1000000n,"million"],[1000n,"tusen"],[100n,"hundre"],[90n,"nitti"],[80n,"åtti"],[70n,"sytti"],[60n,"seksti"],[50n,"femti"],[40n,"førti"],[30n,"tretti"],[20n,"tjue"],[19n,"nitten"],[18n,"atten"],[17n,"sytten"],[16n,"seksten"],[15n,"femten"],[14n,"fjorten"],[13n,"tretten"],[12n,"tolv"],[11n,"elleve"],[10n,"ti"],[9n,"ni"],[8n,"åtte"],[7n,"syv"],[6n,"seks"],[5n,"fem"],[4n,"fire"],[3n,"tre"],[2n,"to"],[1n,"en"],[0n,"null"]])}merge(e,t){const n=Object.keys(e)[0],i=Object.keys(t)[0],r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);return 1==r&&s<100?{[i]:s}:r<100&&r>s?{[`${n}-${i}`]:r+s}:r>=100&&s<100?{[`${n} og ${i}`]:r+s}:s>r?{[`${n} ${i}`]:r*s}:{[`${n}, ${i}`]:r+s}}}class O extends o{ones={1:"jeden",2:"dwa",3:"trzy",4:"cztery",5:"pięć",6:"sześć",7:"siedem",8:"osiem",9:"dziewięć"};tens={0:"dziesięć",1:"jedenaście",2:"dwanaście",3:"trzynaście",4:"czternaście",5:"piętnaście",6:"szesnaście",7:"siedemnaście",8:"osiemnaście",9:"dziewiętnaście"};twenties={2:"dwadzieścia",3:"trzydzieści",4:"czterdzieści",5:"pięćdziesiąt",6:"sześćdziesiąt",7:"siedemdziesiąt",8:"osiemdziesiąt",9:"dziewięćdzisiąt"};hundreds={1:"sto",2:"dwieście",3:"trzysta",4:"czterysta",5:"pięćset",6:"sześćset",7:"siedemset",8:"osiemset",9:"dziewięćset"};thousands={1:["tysiąc","tysiące","tysięcy"],2:["milion","miliony","milionów"],3:["miliard","miliardy","miliardów"],4:["bilion","biliony","bilionów"],5:["biliard","biliardy","biliardów"],6:["trylion","tryliony","trylionów"],7:["tryliard","tryliardy","tryliardów"],8:["kwadrylion","kwadryliony","kwadrylionów"],9:["kwaryliard","kwadryliardy","kwadryliardów"],10:["kwintylion","kwintyliony","kwintylionów"]};constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"przecinek",zero:"zero"},e))}pluralize(e,t){let n=2;return 1==e?n=0:e%10n<5n&&e%10n>1n&&(e%100n<10n||e%100n>20n)&&(n=1),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];if(i-=1,0==r)continue;const[s,o,a]=this.getDigits(r);a>0&&t.push(this.hundreds[a]),o>1&&t.push(this.twenties[o]),1==o?t.push(this.tens[s]):s>0&&!(i>0&&1==r)&&t.push(this.ones[s]),i>0&&t.push(this.pluralize(r,this.thousands[i]))}return t.join(" ")}}class x extends r{hundreds={1:"cento",2:"duzentos",3:"trezentos",4:"quatrocentos",5:"quinhentos",6:"seiscentos",7:"setecentos",8:"oitocentos",9:"novecentos"};constructor(e){super(Object.assign({negativeWord:"menos",separatorWord:"vírgula",zero:"zero"},e),[[1000000000000000000000000n,"quatrilião"],[1000000000000000000n,"trilião"],[1000000000000n,"bilião"],[1000000n,"milião"],[1000n,"mil"],[100n,"cem"],[90n,"noventa"],[80n,"oitenta"],[70n,"setenta"],[60n,"sessenta"],[50n,"cinquenta"],[40n,"quarenta"],[30n,"trinta"],[20n,"vinte"],[19n,"dezanove"],[18n,"dezoito"],[17n,"dezassete"],[16n,"dezasseis"],[15n,"quinze"],[14n,"catorze"],[13n,"treze"],[12n,"doze"],[11n,"onze"],[10n,"dez"],[9n,"nove"],[8n,"oito"],[7n,"sete"],[6n,"seis"],[5n,"cinco"],[4n,"quatro"],[3n,"três"],[2n,"dois"],[1n,"um"],[0n,"zero"]])}postClean(e){return["mil","milhão","milhões","mil milhões","bilião","biliões","mil biliões"].forEach((t=>{e.match(new RegExp(`.*${t} e \\w*entos? (?=.*e)`))&&(e=e.replace(new RegExp(`${t} e`,"g"),`${t}`))})),e}merge(e,t){let n=Object.keys(e)[0],i=Object.keys(t)[0];const r=BigInt(Object.values(e)[0]),s=BigInt(Object.values(t)[0]);if(1==r){if(s<1e6)return{[i]:s};n="um"}else 100==r&&s%1000n!=0&&(n="cento");return s<r?{[`${n} e ${i}`]:r+s}:(s%1000000000n==0&&r>1?i=i.slice(0,-4)+"liões":s%1000000n==0&&r>1&&(i=i.slice(0,-4)+"lhões"),"milião"==i&&(i="milhão"),100==s?(n=this.hundreds[r],i=""):i=" "+i,{[`${n}${i}`]:r*s})}}class C extends o{ones={1:["jedan","jedna"],2:["dva","dve"],3:["tri","tri"],4:["četiri","četiri"],5:["pet","pet"],6:["šest","šest"],7:["sedam","sedam"],8:["osam","osam"],9:["devet","devet"]};tens={0:"deset",1:"jedanaest",2:"dvanaest",3:"trinaest",4:"četrnaest",5:"petnaest",6:"šesnaest",7:"sedamnaest",8:"osamnaest",9:"devetnaest"};twenties={2:"dvadeset",3:"trideset",4:"četrdeset",5:"pedeset",6:"šezdeset",7:"sedamdeset",8:"osamdeset",9:"devedeset"};hundreds={1:"sto",2:"dvesta",3:"trista",4:"četiristo",5:"petsto",6:"šesto",7:"sedamsto",8:"osamsto",9:"devetsto"};SCALE={0:["","","",!1],1:["hiljada","hiljade","hiljada",!0],2:["milion","miliona","miliona",!1],3:["milijarda","milijarde","milijarda",!1],4:["bilion","biliona","biliona",!1],5:["bilijarda","bilijarde","bilijarda",!1],6:["trilion","triliona","triliona",!1],7:["trilijarda","trilijarde","trilijarda",!1],8:["kvadrilion","kvadriliona","kvadriliona",!1],9:["kvadrilijarda","kvadrilijarde","kvadrilijarda",!1],10:["kvintilion","kvintiliona","kvintiliona",!1]};constructor(e){super(Object.assign({negativeWord:"minus",separatorWord:"zapeta",zero:"nula"},e))}pluralize(e,t){let n=2;return(e%100n<10n||e%100n>20n)&&(e%10n==1n?n=0:e%10n>1n&&e%10n<5n&&(n=1)),t[n]}toCardinal(e){if(0==e)return this.zero;const t=[],n=this.splitByX(e.toString(),3);let i=n.length;for(let e=0;e<n.length;e++){const r=n[e];i-=1;const[s,o,a]=this.getDigits(r);if(a>0&&t.push(this.hundreds[a]),o>1&&t.push(this.twenties[o]),1==o)t.push(this.tens[s]);else if(s>0){const e=this.feminine||this.SCALE[i][3]?1:0;t.push(this.ones[s][e])}i>0&&0!=r&&t.push(this.pluralize(r,this.SCALE[i]))}return t.join(" ")}}class S extends r{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(Object.assign({negativeWord:"eksi",separatorWord:"virgül",zero:"sıfır",spaceSeparator:!0===e.dropSpaces?"":" "},e),[[1000000000000000000n,"kentilyon"],[1000000000000000n,"katrilyon"],[1000000000000n,"trilyon"],[1000000000n,"milyar"],[1000000n,"milyon"],[1000n,"bin"],[100n,"yüz"],[90n,"doksan"],[80n,"seksen"],[70n,"yetmiş"],[60n,"altmış"],[50n,"elli"],[40n,"kırk"],[30n,"otuz"],[20n,"yirmi"],[10n,"on"],[9n,"dokuz"],[8n,"sekiz"],[7n,"yedi"],[6n,"altı"],[5n,"beş"],[4n,"dört"],[3n,"üç"],[2n,"iki"],[1n,"bir"],[0n,"sıfır"]])}merge(e,t){const n=Object.keys(e)[0],i=Object.keys(t)[0],r=parseInt(Object.values(e)[0]),s=parseInt(Object.values(t)[0]);return 1==r&&(s<=100||1e3==s)?{[i]:s}:s>r?{[`${n}${this.spaceSeparator}${i}`]:r*s}:{[`${n}${this.spaceSeparator}${i}`]:r+s}}}class W extends o{ones={1:"один",2:"два",3:"три",4:"чотири",5:"п'ять",6:"шiсть",7:"сiм",8:"вiсiм",9:"дев'ять"};onesFeminine={1:"одна",2:"двi",3:"три",4:"чотири",5:"п'ять",6:"шiсть",7:"сiм",8:"вiсiм",9:"дев'ять"};tens={0:"десять",1:"одинадцять",2:"дванадцять",3:"тринадцять",4:"чотирнадцять",5:"п'ятнадцять",6:"шiстнадцять",7:"сiмнадцять",8:"вiсiмнадцять",9:"дев'ятнадцять"};twenties={2:"двадцять",3:"тридцять",4:"сорок",5:"п'ятдесят",6:"шiстдесят",7:"сiмдесят",8:"вiсiмдесят",9:"дев'яносто"};hundreds={1:"сто",2:"двiстi",3:"триста",4:"чотириста",5:"п'ятсот",6:"шiстсот",7:"сiмсот",8:"вiсiмсот",9:"дев'ятсот"};thousands={1:["тисяча","тисячi","тисяч"],2:["мiльйон","мiльйони","мiльйонiв"],3:["мiльярд","мiльярди","мiльярдiв"],4:["трильйон","трильйони","трильйонiв"],5:["квадрильйон","квадрильйони","квадрильйонiв"],6:["квiнтильйон","квiнтильйони","квiнтильйонiв"],7:["секстильйон","секстильйони","секстильйонiв"],8:["септильйон","септильйони","септильйонiв"],9:["октильйон","октильйони","октильйонiв"],10:["нонiльйон","нонiльйони","нонiльйонiв"]};constructor(e){super(Object.assign({negativeWord:"мiнус",separatorWord:"кома",zero:"нуль"},e))}}class T extends e{base={0:"không",1:"một",2:"hai",3:"ba",4:"bốn",5:"năm",6:"sáu",7:"bảy",8:"tám",9:"chín",10:"mười",11:"mười một",12:"mười hai",13:"mười ba",14:"mười bốn",15:"mười lăm",16:"mười sáu",17:"mười bảy",18:"mười tám",19:"mười chín"};tens={20:"hai mươi",30:"ba mươi",40:"bốn mươi",50:"năm mươi",60:"sáu mươi",70:"bảy mươi",80:"tám mươi",90:"chín mươi"};thousands={1:"nghìn",2:"triệu",3:"tỷ",4:"nghìn tỷ",5:"trăm nghìn tỷ",6:"Quintillion",7:"Sextillion",8:"Septillion",9:"Octillion",10:"Nonillion",11:"Decillion",12:"Undecillion",13:"Duodecillion",14:"Tredecillion",15:"Quattuordecillion",16:"Sexdecillion",17:"Septendecillion",18:"Octodecillion",19:"Novemdecillion",20:"Vigintillion"};constructor(e){super(Object.assign({negativeWord:"âm",separatorWord:"phẩy",zero:"không"},e))}convertLess100(e){let t=e%10,n=e-t,i=this.tens[n];if(0==t)return i;let r=this.base[t];return 1==t&&(r="mốt"),5==t&&(r="lăm"),i+" "+r}convertLess1000(e){let t=[],n=e%100,i=e-n;return i>0&&t.push(this.base[i/100],"trăm"),0<n&&n<10&&(t.length>0&&t.push("lẻ"),5==n?t.push("năm"):t.push(this.base[n])),n>=10&&t.push(this.toCardinal(n)),t.join(" ")}convertMore1000(e){let t=[],n=e/1000n,i=1;for(;n>=1000n;)n/=1000n,i+=1;let r=e-n*BigInt(Math.pow(1e3,i));return t.push(this.toCardinal(n),this.thousands[i]),r>0n&&(r<=99n&&t.push("lẻ"),t.push(this.toCardinal(r))),t.join(" ")}toCardinal(e){return e<20n?this.base[Number(e)]:e<100n?this.convertLess100(Number(e)):e<1000n?this.convertLess1000(Number(e)):this.convertMore1000(e)}}class $ extends r{constructor(e){super(Object.assign({negativeWord:"负",separatorWord:"点",zero:"零",spaceSeparator:""},e),[[1000000000000n,"万"],[100000000n,"亿"],[10000n,"万"],[1000n,"仟"],[100n,"佰"],[10n,"拾"],[9n,"玖"],[8n,"捌"],[7n,"柒"],[6n,"陆"],[5n,"伍"],[4n,"肆"],[3n,"叁"],[2n,"贰"],[1n,"壹"],[0n,"零"]])}merge(e,t){const n=Object.keys(e)[0],i=parseInt(Object.values(e)[0]),r=Object.keys(t)[0],s=parseInt(Object.values(t)[0]);let o={[`${n}${r}`]:i+s};return 1==i&&s<10?o={[r]:s}:s>i?o={[`${n}${r}`]:i*s}:this.zeroDigit(i)>this.digit(s)&&(o={[`${n}${this.zero}${r}`]:i+s}),o}decimalToCardinal(e){return e.split("").map((e=>this.getCardWord(e))).join(this.spaceSeparator)}digit(e){return e.toString().length}zeroDigit(e){return Array.from(e.toString()).filter((e=>"0"==e)).length}}function I(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{lang:"en"};switch(n.lang){case"en":return function(e,t){return new c(t).floatToCardinal(e)}(e,n);case"ar":return function(e,n){return new t(n).floatToCardinal(e)}(e,n);case"az":return function(e,t){return new s(t).floatToCardinal(e)}(e,n);case"cz":return function(e,t){return new a(t).floatToCardinal(e)}(e,n);case"de":return function(e,t){return new l(t).floatToCardinal(e)}(e,n);case"dk":return function(e,t){return new u(t).floatToCardinal(e)}(e,n);case"es":return function(e,t){return new d(t).floatToCardinal(e)}(e,n);case"fa":return function(e,t){return new h(t).floatToCardinal(e)}(e,n);case"fr":return function(e,t){return new p(t).floatToCardinal(e)}(e,n);case"he":return function(e,t){return new f(t).floatToCardinal(e)}(e,n);case"hr":return function(e,t){return new m(t).floatToCardinal(e)}(e,n);case"hu":return function(e,t){return new g(t).floatToCardinal(e)}(e,n);case"id":return function(e,t){return new v(t).floatToCardinal(e)}(e,n);case"it":return function(e,t){return new b(t).floatToCardinal(e)}(e,n);case"ko":return function(e,t){return new y(t).floatToCardinal(e)}(e,n);case"lt":return function(e,t){return new j(t).floatToCardinal(e)}(e,n);case"lv":return function(e,t){return new z(t).floatToCardinal(e)}(e,n);case"nl":return function(e,t){return new k(t).floatToCardinal(e)}(e,n);case"no":return function(e,t){return new w(t).floatToCardinal(e)}(e,n);case"pl":return function(e,t){return new O(t).floatToCardinal(e)}(e,n);case"pt":return function(e,t){return new x(t).floatToCardinal(e)}(e,n);case"ru":return function(e,t){return new o(t).floatToCardinal(e)}(e,n);case"sr":return function(e,t){return new C(t).floatToCardinal(e)}(e,n);case"tr":return function(e,t){return new S(t).floatToCardinal(e)}(e,n);case"uk":return function(e,t){return new W(t).floatToCardinal(e)}(e,n);case"vi":return function(e,t){return new T(t).floatToCardinal(e)}(e,n);case"zh":return function(e,t){return new $(t).floatToCardinal(e)}(e,n);default:throw Error("Unsupported language: "+e+".")}}})(),i.default})()));
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsCZ extends N2WordsRU {
4
4
  ones = {
@@ -3,7 +3,7 @@ import BaseLanguage from '../classes/BaseLanguage.js';
3
3
  /**
4
4
  * This class is for converting numbers to english words.
5
5
  */
6
- class English extends BaseLanguage {
6
+ export class English extends BaseLanguage {
7
7
  constructor(options) {
8
8
  super(Object.assign({
9
9
  negativeWord: 'minus',
@@ -59,9 +59,9 @@ class English extends BaseLanguage {
59
59
  */
60
60
  merge(lPair, rPair) {
61
61
  const lText = Object.keys(lPair)[0];
62
- const lNum = parseInt(Object.values(lPair)[0]);
62
+ const lNum = BigInt(Object.values(lPair)[0]);
63
63
  const rText = Object.keys(rPair)[0];
64
- const rNum = parseInt(Object.values(rPair)[0]);
64
+ const rNum = BigInt(Object.values(rPair)[0]);
65
65
 
66
66
  if (lNum == 1 && rNum < 100) return { [rText]: rNum };
67
67
  else if (100 > lNum && lNum > rNum) return { [`${lText}-${rText}`]: lNum + rNum };
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsHE extends N2WordsRU {
4
4
  and;
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsHR extends N2WordsRU {
4
4
  ones = {
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsLT extends N2WordsRU {
4
4
  ones = {
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsLV extends N2WordsRU{
4
4
  ones = {
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsPL extends N2WordsRU {
4
4
  ones = {
@@ -58,24 +58,26 @@ export class N2WordsPT extends BaseLanguage {
58
58
 
59
59
  postClean(words) {
60
60
  const transforms = ['mil', 'milhão', 'milhões', 'mil milhões', 'bilião', 'biliões', 'mil biliões'];
61
- for (let i = 0; i < transforms.length; i++) {
62
- const ext = transforms[i];
63
- if (words.match(new RegExp(`.*${ext} e \\w*entos? (?=.*e)`))) {
64
- words = words.replace(new RegExp(`${ext} e`, 'g'), `${ext}`);
61
+
62
+ transforms.forEach(transform => {
63
+ if (words.match(new RegExp(`.*${transform} e \\w*entos? (?=.*e)`))) {
64
+ words = words.replace(new RegExp(`${transform} e`, 'g'), `${transform}`);
65
65
  }
66
- }
66
+ });
67
+
67
68
  return words;
68
69
  }
69
70
 
70
71
  merge(curr, next) {
71
72
  let cText = Object.keys(curr)[0];
72
73
  let nText = Object.keys(next)[0];
73
- const cNum = parseInt(Object.values(curr)[0]);
74
- const nNum = parseInt(Object.values(next)[0]);
74
+ const cNum = BigInt(Object.values(curr)[0]);
75
+ const nNum = BigInt(Object.values(next)[0]);
76
+
75
77
  if (cNum == 1) {
76
78
  if (nNum < 1000000) return { [nText]: nNum };
77
79
  cText = 'um';
78
- } else if (cNum == 100 && nNum % 1000 != 0) {
80
+ } else if (cNum == 100 && nNum % 1000n != 0) {
79
81
  cText = 'cento';
80
82
  }
81
83
 
@@ -84,9 +86,9 @@ export class N2WordsPT extends BaseLanguage {
84
86
  // return { [`${cText} e ${nText}`]: cNum + nNum }
85
87
  // }
86
88
  return { [`${cText} e ${nText}`]: cNum + nNum };
87
- } else if (nNum % 1000000000 == 0 && cNum > 1) {
89
+ } else if (nNum % 1000000000n == 0 && cNum > 1) {
88
90
  nText = nText.slice(0, -4) + 'liões';
89
- } else if (nNum % 1000000 == 0 && cNum > 1) {
91
+ } else if (nNum % 1000000n == 0 && cNum > 1) {
90
92
  nText = nText.slice(0, -4) + 'lhões';
91
93
  }
92
94
 
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsSR extends N2WordsRU {
4
4
  ones = {
@@ -1,4 +1,4 @@
1
- import {N2WordsRU} from './RU.js';
1
+ import {N2WordsRU} from './ru.js';
2
2
 
3
3
  export class N2WordsUK extends N2WordsRU {
4
4
  ones = {
package/lib/n2words.js CHANGED
@@ -1,31 +1,30 @@
1
- /* eslint-disable import/max-dependencies */
2
- import n2wordsAR from './i18n/AR.js';
3
- import n2wordsAZ from './i18n/AZ.js';
4
- import n2wordsCZ from './i18n/CZ.js';
5
- import n2wordsDE from './i18n/DE.js';
6
- import n2wordsDK from './i18n/DK.js';
7
- import n2wordsEN from './i18n/EN.js';
8
- import n2wordsES from './i18n/ES.js';
9
- import n2wordsFA from './i18n/FA.js';
10
- import n2wordsFR from './i18n/FR.js';
11
- import n2wordsHE from './i18n/HE.js';
12
- import n2wordsHR from './i18n/HR.js';
13
- import n2wordsHU from './i18n/HU.js';
14
- import n2wordsID from './i18n/ID.js';
15
- import n2wordsIT from './i18n/IT.js';
16
- import n2wordsKO from './i18n/KO.js';
17
- import n2wordsLT from './i18n/LT.js';
18
- import n2wordsLV from './i18n/LV.js';
19
- import n2wordsNL from './i18n/NL.js';
20
- import n2wordsNO from './i18n/NO.js';
21
- import n2wordsPL from './i18n/PL.js';
22
- import n2wordsPT from './i18n/PT.js';
23
- import n2wordsRU from './i18n/RU.js';
24
- import n2wordsSR from './i18n/SR.js';
25
- import n2wordsTR from './i18n/TR.js';
26
- import n2wordsUK from './i18n/UK.js';
27
- import n2wordsVI from './i18n/VI.js';
28
- import n2wordsZH from './i18n/ZH.js';
1
+ import n2wordsAR from './i18n/ar.js';
2
+ import n2wordsAZ from './i18n/az.js';
3
+ import n2wordsCZ from './i18n/cz.js';
4
+ import n2wordsDE from './i18n/de.js';
5
+ import n2wordsDK from './i18n/dk.js';
6
+ import n2wordsEN from './i18n/en.js';
7
+ import n2wordsES from './i18n/es.js';
8
+ import n2wordsFA from './i18n/fa.js';
9
+ import n2wordsFR from './i18n/fr.js';
10
+ import n2wordsHE from './i18n/he.js';
11
+ import n2wordsHR from './i18n/hr.js';
12
+ import n2wordsHU from './i18n/hu.js';
13
+ import n2wordsID from './i18n/id.js';
14
+ import n2wordsIT from './i18n/it.js';
15
+ import n2wordsKO from './i18n/ko.js';
16
+ import n2wordsLT from './i18n/lt.js';
17
+ import n2wordsLV from './i18n/lv.js';
18
+ import n2wordsNL from './i18n/nl.js';
19
+ import n2wordsNO from './i18n/no.js';
20
+ import n2wordsPL from './i18n/pl.js';
21
+ import n2wordsPT from './i18n/pt.js';
22
+ import n2wordsRU from './i18n/ru.js';
23
+ import n2wordsSR from './i18n/sr.js';
24
+ import n2wordsTR from './i18n/tr.js';
25
+ import n2wordsUK from './i18n/uk.js';
26
+ import n2wordsVI from './i18n/vi.js';
27
+ import n2wordsZH from './i18n/zh.js';
29
28
 
30
29
  /**
31
30
  * Converts a number to written form.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n2words",
3
- "version": "1.16.0",
3
+ "version": "1.16.2",
4
4
  "description": "n2words converts a numerical number into a written one, supports 27 languages and has zero dependencies.",
5
5
  "keywords": [
6
6
  "n2words",
@@ -47,22 +47,25 @@
47
47
  "license": "MIT",
48
48
  "author": "Wael TELLAT",
49
49
  "contributors": [
50
- "Tyler Vigario <TylerVigario90@gmail.com>"
50
+ "Tyler Vigario (https://github.com/TylerVigario)"
51
51
  ],
52
+ "sideEffects": false,
52
53
  "type": "module",
53
54
  "exports": {
54
55
  ".": "./lib/n2words.js",
55
- "./i18n/": "./lib/i18n/"
56
+ "./i18n/*.js": "./lib/i18n/*.js"
56
57
  },
58
+ "jsdelivr": "dist/n2words.js",
59
+ "unpkg": "dist/n2words.js",
57
60
  "files": [
58
61
  "lib/*",
59
- "build/*"
62
+ "dist/*"
60
63
  ],
61
64
  "scripts": {
62
65
  "bench": "node bench.js",
63
66
  "build": "webpack --config webpack.config.js --progress",
64
67
  "coverage": "c8 ava",
65
- "lint": "eslint --config .eslintrc.json lib/ test/",
68
+ "lint": "eslint --config .eslintrc.json lib/ test/ bench.js",
66
69
  "test": "ava --verbose"
67
70
  },
68
71
  "ava": {
@@ -89,14 +92,14 @@
89
92
  "benchmark": "^2.1.4",
90
93
  "c8": "^7.14.0",
91
94
  "core-js": "^3.30.2",
92
- "eslint": "^8.41.0",
95
+ "eslint": "^8.42.0",
93
96
  "eslint-plugin-ava": "^14.0.0",
94
97
  "eslint-plugin-import": "^2.27.5",
95
- "eslint-plugin-jsdoc": "^46.0.0",
98
+ "eslint-plugin-jsdoc": "^46.2.3",
96
99
  "eslint-plugin-node": "^11.1.0",
97
100
  "microtime": "^3.1.1",
98
- "webpack": "^5.84.1",
99
- "webpack-cli": "^5.1.1"
101
+ "webpack": "^5.85.0",
102
+ "webpack-cli": "^5.1.3"
100
103
  },
101
104
  "engines": {
102
105
  "node": "16 || >=18"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes