any-number-to-words
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -20,3 +20,5 @@ import Engine from "./engine.js"; | ||
if (numberParsed.fraction != "0") { | ||
result += ` ${this.locale.names.point} ` + [...numberParsed.fraction].map(digit => engine.toWords(digit, this.locale)).join(" "); | ||
result += ` ${this.locale.names.point} ` + [...numberParsed.fraction].map(digit => engine.toWords(digit, { ...this.locale, | ||
...settings | ||
})).join(" "); | ||
} | ||
@@ -23,0 +25,0 @@ |
{ | ||
"name": "any-number-to-words", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "A string based number to word converter that can convert pretty large numbers to words in several locales. String is it's limit.", | ||
@@ -32,3 +32,4 @@ "main": "cjs/index.js", | ||
}, | ||
"homepage": "https://github.com/ashutoshbw314/any-number-to-words/tree/main#readme", | ||
"homepage": "https://any-number-to-words.netlify.app/", | ||
"repository": "github:ashutoshbw314/any-number-to-words", | ||
"devDependencies": { | ||
@@ -35,0 +36,0 @@ "@babel/cli": "^7.13.16", |
# Any number to words | ||
Converts any(string is it's limit) number to words. | ||
Converts any(string is it's limit) decimal number to words in several locales. | ||
See **[Live Demo](https://any-number-to-words.netlify.app/)** | ||
## Installation | ||
``` | ||
npm i any-number-to-words | ||
``` | ||
## API | ||
### Initialization | ||
ES6 module format: | ||
```javascript | ||
import {Converter} from "any-number-to-words"; | ||
const converter = new Converter(); | ||
``` | ||
CommonJS module format: | ||
```javascript | ||
const {Converter} = require("any-number-to-words"); | ||
const converter = new Converter(); | ||
``` | ||
The default locale is `enUS`(English). To convert in to other locales(eg. `bnBD`) you also need to import or require the locales: | ||
```javascript | ||
// bnBD is for Bengali | ||
import {Converter, bnBD} from "any-number-to-words"; | ||
const converter = new Converter(bnBD); | ||
``` | ||
Or | ||
``` | ||
const {Converter, bnBD} = require("any-number-to-words"); | ||
const converter = new Converter(bnBD); | ||
``` | ||
### Meat of the matter | ||
Syntax: | ||
``` | ||
converter.toWords(number|string, [options]); | ||
``` | ||
* 1st parameter(`number|string`): It can be a JavaScript number or a string. If it is a string it should follow the same syntax as JavaScript decimal number. | ||
* 2nd parameter(`[options|locale]`, *optional*): It is used to provide optional settings like comma separator: `{comma: true}`. However it can be used to override the whole locale. Or it can given some locale too to use that local temporarily. | ||
Examples: | ||
```javascript | ||
// --- assuming the locale is enUS --- | ||
converter.toWords(1729); // → one thousand seven hundred twenty-nine | ||
// turn on commas | ||
converter.toWords(1729, {comma: true}); // → one thousand, seven hundred twenty-nine | ||
// string as input | ||
converter.toWords('1729'); // → one thousand, seven hundred twenty-nine | ||
// You can also use exponent notation | ||
converter.toWords('1729e100'); // → seventeen tretrigintillion twenty-nine googol | ||
``` | ||
That's basically it. Have fun! | ||
### Currently supported locales | ||
* `enUS` for English. | ||
* `bnBD` for Bengali. | ||
* `hiIN` for Hindi. | ||
## Contributions, Comments and Bugs | ||
Contributions, comments and/or bug reports are very much appreciated. Open a pull request or add comments on the [issues page](https://github.com/ashutoshbw314/any-number-to-words/issues). Thanks! | ||
## License | ||
MIT | ||
## Acknowledgements | ||
* The regular expression for parsing number is inspired from [Eloquent JavaScript](https://eloquentjavascript.net/code/#9.3) book. | ||
## Change Log | ||
#### Version 2.0.1 | ||
* Added documentation. | ||
* Fixed the bug of not translating fractional part of non en-us locales. | ||
#### Version 2.0.0 | ||
* Made the package hybrid to support both ES6 modules syntax and CommonJS syntax. | ||
* Made changes to API. Set `Converter` as named export. | ||
* Added locales: `bnBD` and `hiIN`. | ||
#### Version 1.0.0 | ||
* Initial release. | ||
@@ -19,3 +19,3 @@ import Engine from "./engine.js"; | ||
if (numberParsed.fraction != "0") { | ||
result += ` ${this.locale.names.point} ` + [...numberParsed.fraction].map(digit => engine.toWords(digit, this.locale)).join(" "); | ||
result += ` ${this.locale.names.point} ` + [...numberParsed.fraction].map(digit => engine.toWords(digit, {...this.locale, ...settings})).join(" "); | ||
} | ||
@@ -22,0 +22,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
31151
547
93
0