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