From 55b8634a61da6b4d2c849f83a0836399edd624eb Mon Sep 17 00:00:00 2001 From: Awilum Date: Sun, 9 Jan 2022 21:18:19 +0300 Subject: [PATCH] Letter 2.0.0 --- CHANGELOG.md | 7 +++++++ README.md | 8 ++++---- index.js | 4 ++-- package.json | 3 ++- test.js | 32 +++++++++++++++++++++----------- 5 files changed, 36 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90eb554..319dc2b 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ + +# [2.0.0](https://github.com/faker-javascript/letter) (2022-01-09) + +### BREAKING CHANGES + +* New function `letter` istead of `fakeLetter` + # [1.1.0](https://github.com/faker-javascript/letter) (2022-01-08) * Add locales support: ru_RU, en_US (default) diff --git a/README.md b/README.md index d601109..f4957de 100644 --- a/README.md +++ b/README.md @@ -15,15 +15,15 @@ $ npm install --save @fakerjs/letter ## Usage ```js -import fakeLetter from '@fakerjs/letter'; +import letter from '@fakerjs/letter'; -fakeLetter(); +letter(); //=> z -fakeLetter({'casing': 'upper'}); +letter({'casing': 'upper'}); //=> Z -fakeLetter({'casing': 'upper', 'locale': 'ru_RU'}); +letter({'casing': 'upper', 'locale': 'ru_RU'}); //=> Я ``` diff --git a/index.js b/index.js index 4aa70cd..45562c7 100644 --- a/index.js +++ b/index.js @@ -1,10 +1,10 @@ -export default function fakeLetter(options) { +export default function letter(options) { options = options || {}; let keyspace = { "en_US": "abcdefghijklmnopqrstuvwxyz", "ru_RU": "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" }; - let locale = ((options.locale === undefined) ? 'en_US' : options.locale); + let locale = options.locale || 'en_US'; 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 0a97037..843e45d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fakerjs/letter", - "version": "1.1.0", + "version": "2.0.0", "description": "Letter package provides functionality to generate a fake letter value.", "license": "MIT", "repository": "faker-javascript/letter", @@ -25,6 +25,7 @@ ], "keywords": [ "fakerjs", + "faker", "fake", "random", "strings", diff --git a/test.js b/test.js index d803376..5edc316 100644 --- a/test.js +++ b/test.js @@ -1,18 +1,28 @@ -import fakeLetter from './index.js'; +import letter from './index.js'; import test from 'ava'; -test('fakeLetter return type to be string', t => { - t.is(typeof fakeLetter(), 'string'); +test('letter return type to be string', t => { + t.is(typeof letter(), 'string'); }); -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('letter length casing eq 1', t => { + t.is(letter().length, 1); + t.is(letter({ casing: 'upper' }).length, 1); + t.is(letter({ 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); +test('letter with locale ru_RU includes', t => { + t.true('абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.includes(letter({ locale: 'ru_RU' }))); + t.false('абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.includes('z')); +}); + +test('letter with locale en_US includes', t => { + t.true('abcdefghijklmnopqrstuvwxyz'.includes(letter({ locale: 'en_US' }))); + t.false('abcdefghijklmnopqrstuvwxyz'.includes('я')); +}); + +test('letter with casing and locale ru_RU length eq 1', t => { + t.is(letter().length, 1); + t.is(letter({ casing: 'upper', locale: 'ru_RU' }).length, 1); + t.is(letter({ casing: 'lower', locale: 'ru_RU' }).length, 1); }); \ No newline at end of file