File tree Expand file tree Collapse file tree 7 files changed +29
-8
lines changed
Expand file tree Collapse file tree 7 files changed +29
-8
lines changed Original file line number Diff line number Diff line change 11# Global
22node_modules /
33coverage
4+ package-lock.json
45
56# OS Generated
67.DS_Store *
Original file line number Diff line number Diff line change 1+ <a name =" 2.2.1 " ></a >
2+ # [ 2.2.1] ( https://github.com/faker-javascript/letter ) (2022-01-19)
3+ * Add locales folder for genders.
4+
15<a name =" 2.1.1 " ></a >
26# [ 2.1.1] ( https://github.com/faker-javascript/letter ) (2022-01-15)
37* Typo updates.
Original file line number Diff line number Diff line change 1- /* eslint camelcase: ["error", {properties: "never"}] */
1+ import path from 'node:path' ;
2+ import { loadJsonFileSync } from 'load-json-file' ;
3+
24export default function letter ( options ) {
35 options = options || { } ;
4- const keyspace = {
5- en_US : 'abcdefghijklmnopqrstuvwxyz' ,
6- ru_RU : 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' ,
7- } ;
86 const locale = options . locale || 'en_US' ;
9- const letter = keyspace [ locale ] . charAt ( Math . floor ( Math . random ( ) * keyspace [ locale ] . length ) ) ;
7+ const filePath = `./locales/${ locale } /letters.json` ;
8+ let letters = [ ] ;
9+
10+ try {
11+ letters = loadJsonFileSync ( filePath ) ;
12+ } catch {
13+ letters = loadJsonFileSync ( path . resolve ( 'node_modules/@fakerjs/letter/' , filePath ) ) ;
14+ }
15+
16+ const letter = letters [ 0 ] . charAt ( Math . floor ( Math . random ( ) * letters [ 0 ] . length ) ) ;
1017 return ( options . casing === 'upper' ? letter . toUpperCase ( ) : letter ) ;
1118}
Original file line number Diff line number Diff line change @@ -3,4 +3,4 @@ import letter from './index.js';
33
44expectType < string > ( letter ( ) ) ;
55expectType < string > ( letter ( { casing : 'upper' } ) ) ;
6- expectType < string > ( letter ( { casing : 'upper' , locale : 'en_US' } ) ) ;
6+ expectType < string > ( letter ( { casing : 'upper' , locale : 'en_US' } ) ) ;
Original file line number Diff line number Diff line change 1+ [
2+ " abcdefghijklmnopqrstuvwxyz"
3+ ]
Original file line number Diff line number Diff line change 1+ [
2+ " абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
3+ ]
Original file line number Diff line number Diff line change 11{
22 "name" : " @fakerjs/letter" ,
3- "version" : " 2.1 .1" ,
3+ "version" : " 2.2 .1" ,
44 "description" : " Letter package provides functionality to generate a fake letter value." ,
55 "license" : " MIT" ,
66 "repository" : " faker-javascript/letter" ,
1717 "scripts" : {
1818 "test" : " c8 ava; xo --space 4; tsd;"
1919 },
20+ "dependencies" : {
21+ "load-json-file" : " ^7.0.1"
22+ },
2023 "devDependencies" : {
2124 "ava" : " ^4.0.0" ,
2225 "c8" : " ^7.11.0" ,
You can’t perform that action at this time.
0 commit comments