diff --git a/CHANGELOG.md b/CHANGELOG.md index 479eed7..90eb554 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ + +# [1.1.0](https://github.com/faker-javascript/letter) (2022-01-08) +* Add locales support: ru_RU, en_US (default) + # [1.0.1](https://github.com/faker-javascript/letter) (2022-01-08) * Package fixes diff --git a/README.md b/README.md index 0e4e4f0..d7ee213 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,13 @@ $ npm install --save @fakerjs/letter import fakeLetter from '@fakerjs/letter'; fakeLetter(); -//=> a +//=> z fakeLetter({'casing': 'upper'}); -//=> A +//=> Z + +fakeLetter({'casing': 'upper', 'locale': 'ru_RU'}); +//=> Я ``` ## Tests diff --git a/index.js b/index.js index 14cbacb..4aa70cd 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,10 @@ export default function fakeLetter(options) { - let keyspace = "abcdefghijklmnopqrstuvwxyz"; - let letter = keyspace.charAt(Math.floor(Math.random() * keyspace.length)); options = options || {}; + let keyspace = { + "en_US": "abcdefghijklmnopqrstuvwxyz", + "ru_RU": "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" + }; + let locale = ((options.locale === undefined) ? 'en_US' : options.locale); + let letter = keyspace[locale].charAt(Math.floor(Math.random() * keyspace[locale].length)); return (options.casing === 'upper' ? letter.toUpperCase() : letter); }; \ No newline at end of file diff --git a/package.json b/package.json index 8588cbe..0a97037 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fakerjs/letter", - "version": "1.0.1", + "version": "1.1.0", "description": "Letter package provides functionality to generate a fake letter value.", "license": "MIT", "repository": "faker-javascript/letter", diff --git a/test.js b/test.js index 77f40e9..d803376 100644 --- a/test.js +++ b/test.js @@ -5,8 +5,14 @@ test('fakeLetter return type to be string', t => { t.is(typeof fakeLetter(), 'string'); }); -test('fakeLetter string length less eq 1', t => { +test('fakeLetter length casing eq 1', t => { t.is(fakeLetter().length, 1); t.is(fakeLetter({ casing: 'upper' }).length, 1); t.is(fakeLetter({ casing: 'lower' }).length, 1); }); + +test('fakeLetter with casing and locale ru_RU length eq 1', t => { + t.is(fakeLetter().length, 1); + t.is(fakeLetter({ casing: 'upper', locale: 'ru_RU' }).length, 1); + t.is(fakeLetter({ casing: 'lower', locale: 'ru_RU' }).length, 1); +}); \ No newline at end of file