Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
written-number
Advanced tools
Readme
Convert numbers to words - their written form.
With npm:
npm install --save written-number
With bower:
bower install written-number
var writtenNumber = require('written-number');
writtenNumber(1234); // => 'one thousand two hundred and thirty-four'
writtenNumber.defaults.lang = 'es';
writtenNumber(4758); // => 'cuatro mil setecientos cincuenta y ocho'
writtenNumber(1234, {lang: 'fr'}); // => 'mille deux cent trente-quatre'
writtenNumber(1234, {lang: 'es'}); // => 'mil doscientos treinta y cuatro'
writtenNumber(1234, {lang: 'az'}); // => 'min iki yüz otuz dörd'
writtenNumber(1234, {lang: 'pt'}); // => 'mil duzentos e trinta e quatro'
writtenNumber(1234, {lang: 'ar'}); // => 'ألف ومائتان وأربعة وثلاثون'
writtenNumber(1234, {lang: 'eo'}); // => 'mil ducent tridek kvar'
writtenNumber(1234, {lang: 'vi'}); // => 'một ngàn hai trăm và ba mươi bốn'
writtenNumber(1234, {lang: 'uk'}); // => 'одна тисяча двісті тридцять чотири'
writtenNumber(1234, {lang: 'id'}); // => 'seribu dua ratus tiga puluh empat'
noAnd
- Defaults to false
. Determines whether to use a separator. The
separator is internationalized.lang
- Could be string
or object
. Defaults to 'en'
. Determines which
language to use. An i18n configuration object may be passed to support
external language definitions.Currently supported languages are:
Language | lang |
---|---|
English | en |
Portuguese (Brazil) | pt |
Portuguese (Portugal) | ptPT |
Spanish | es |
French | fr |
Esperanto | eo |
Vietnamese | vi |
Arabic | ar |
Azerbaijan | az |
Turkish | tr |
English (Indian) | enIndian |
Ukrainian | uk |
Indonesian | id |
Russian | ru |
Each language has its own unique grammar exceptions. You can create your own language.json file in the folder "i18n" and give writtenNumber support for it. I don't think the current scheme and logic cover all the cases, but may be cover some.
The following parameters have been used for the currently available languages:
Parameter | Type | Description | Examples |
---|---|---|---|
useLongScale | boolean | Indicates if it uses long or short scale. | This differs the meaning of the words billion , trillion and so on. |
baseSeparator | string | Separates the base cardinal numbers. | 29 -> twenty- eight. Spanish uses the connector " y " |
unitSeparator | string | Separates the units from the last base cardinal numbers. | 1234 -> one thousand two hundred and thirty-four |
allSeparator | string | Separates all cardinals, not only the last one. | 1125 -> ألف ومائة وخمسة وعشرون |
base | Object | Base cardinals numbers. Numbers that have unique names and are used to build others. | |
alternativeBase | Object | Alternative versions of base cardinals numbers for usage with specific units. These bases will be treated as an extension for the default base . | "alternativeBase": { "feminine": {"1":"одна","2":"дві"} } |
units | Array | A list of number units (string or Object). Gives support to singular, dual an plural units. Check the Object parameters below. | |
unitExceptions | Object | Sometimes grammar exceptions affect the base cardinal joined to the unit. You can set specific exceptions to any base cardinal number. | Converting 1232000 in Spanish: Without Exception (Wrong): -> uno millón doscientos treinta y dos mil With Exception: -> un millón doscientos treinta y dos mil |
A unit
can be:
"hundred"
Unit parameter | Description | e.g. of languages |
---|---|---|
singular | One element. | All |
dual | Two elements. | ar |
plural | Two or more elements. (or 3 or more) | All |
few | Between 2 and 4 including. | uk |
useAlternativeBase | Overwrites default base . | uk |
useBaseInstead | Use the base cardinal number instead. | es ,hu ,pt |
useBaseException | Specify with which unit (1 to 9) you don't want to use the base, and instead use the regular behavior. | es ,hu ,pt |
avoidPrefixException | Units not using the base cardinal number prefix for unit 1. | id ,tr ,it |
avoidInNumberPlural | Units not using the plural form with trailing numbers other than 0. | fr |
restrictedPlural | Plural only for 3 to 10. Singular if >= 11. | ar |
useSingularEnding | Use singular form for numbers ending with 1. | uk |
useFewEnding | Use few form for numbers ending with 2, 3 or 4. | uk |
avoidEndingRules | Plural form used instead of useSingularEnding and useFewEnding | uk |
Do your changes and submit a PR. If you've write access and want to bump the version, run mversion [major|minor|patch] -m
. That'll bump both bower.json
and package.json
.
This code is licensed under the MIT license for Pedro Tacla Yamada. For more information, please refer to the LICENSE file.
FAQs
Convert numbers to words - their written form.
The npm package written-number receives a total of 44,084 weekly downloads. As such, written-number popularity was classified as popular.
We found that written-number demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.