Skip to content

Commit 8e89eab

Browse files
committed
Faker 2.2.0
1 parent b100d15 commit 8e89eab

File tree

9 files changed

+180
-21
lines changed

9 files changed

+180
-21
lines changed

.editorconfig

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
# EditorConfig: http://EditorConfig.org
1+
# EditorConfig is awesome: https://EditorConfig.org
22

3-
# top-most EditorConfig file
43
root = true
54

6-
# Unix-style newlines with a newline ending every file
75
[*]
8-
charset = utf-8
96
end_of_line = lf
10-
trim_trailing_whitespace = true
117
insert_final_newline = true
8+
9+
[*.{js,d.ts,ts}]
10+
charset = utf-8
11+
trim_trailing_whitespace = true
1212
indent_style = space
1313
indent_size = 4
1414

15-
# 2 space indentation
16-
[*.yaml, *.yml]
15+
[package.json,*.yaml]
1716
indent_style = space
1817
indent_size = 2

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Global
22
node_modules/
3+
coverage
34

45
# OS Generated
56
.DS_Store*

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
<a name="2.2.0"></a>
2+
# [2.2.0](https://github.com/faker-javascript/faker) (2022-01-13)
3+
* Added xo, tsd, c8.
4+
* Improved tests.
5+
16
<a name="2.1.0"></a>
27
# [2.1.0](https://github.com/faker-javascript/faker) (2022-01-10)
38
* Added new method `superhero` to generate fake superhero name value.

index.d.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
interface OptionsInteger {
2+
min?: number;
3+
max?: number;
4+
}
5+
interface OptionsFloat {
6+
min?: number;
7+
max?: number;
8+
fixed?: number;
9+
}
10+
interface OptionsAge {
11+
type?: string;
12+
}
13+
interface OptionsAnimal {
14+
type?: string;
15+
locale?: string;
16+
}
17+
interface OptionsGender {
18+
locale?: string;
19+
extra?: string[];
20+
}
21+
interface OptionsLetter {
22+
casing?: string;
23+
locale?: string;
24+
}
25+
interface OptionsString {
26+
length?: number;
27+
keyspace?: string;
28+
}
29+
interface OptionsProfession {
30+
rank?: boolean;
31+
locale?: string;
32+
}
33+
declare class Faker {
34+
boolean(): boolean;
35+
integer(options?: OptionsInteger): number;
36+
float(options?: OptionsFloat): number;
37+
age(options?: OptionsAge): number;
38+
animal(options?: OptionsAnimal): string;
39+
gender(options?: OptionsGender): string;
40+
ip(): string;
41+
letter(options?: OptionsLetter): string;
42+
string(options?: OptionsString): string;
43+
profession(options?: OptionsProfession): string;
44+
superhero(): string;
45+
}
46+
declare const faker: Faker;
47+
export default faker;

index.js

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,50 @@ import profession from '@fakerjs/profession';
1111
import superhero from '@fakerjs/superhero';
1212

1313
class Faker {
14-
boolean() { return boolean(); }
15-
integer(options) { return integer(options); }
16-
float(options) { return float(options); }
17-
age(options) { return age(options); }
18-
gender(options) { return gender(options); }
19-
ip() { return ip(); }
20-
letter(options) { return letter(options); }
21-
string(options) { return string(options); }
22-
profession(options) { return profession(options); }
23-
animal(options) { return animal(options); }
24-
superhero() { return superhero(); }
14+
boolean() {
15+
return boolean();
16+
}
17+
18+
integer(options) {
19+
return integer(options);
20+
}
21+
22+
float(options) {
23+
return float(options);
24+
}
25+
26+
age(options) {
27+
return age(options);
28+
}
29+
30+
gender(options) {
31+
return gender(options);
32+
}
33+
34+
ip() {
35+
return ip();
36+
}
37+
38+
letter(options) {
39+
return letter(options);
40+
}
41+
42+
string(options) {
43+
return string(options);
44+
}
45+
46+
profession(options) {
47+
return profession(options);
48+
}
49+
50+
animal(options) {
51+
return animal(options);
52+
}
53+
54+
superhero() {
55+
return superhero();
56+
}
2557
}
2658

27-
let faker = new Faker();
59+
const faker = new Faker();
2860
export default faker;

index.test-d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {expectType} from 'tsd';
2+
import faker from './index.js';
3+
4+
expectType<boolean>(faker.boolean());
5+
expectType<number>(faker.age());
6+
expectType<string>(faker.animal());
7+
expectType<string>(faker.gender());
8+
expectType<string>(faker.string());
9+
expectType<string>(faker.letter());
10+
expectType<string>(faker.profession());
11+
expectType<string>(faker.ip());
12+
expectType<string>(faker.superhero());
13+
expectType<number>(faker.integer());
14+
expectType<number>(faker.float());

package.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@fakerjs/faker",
3-
"version": "2.1.0",
3+
"version": "2.2.0",
44
"description": "A set of javascript packages that generates fake data for you.",
55
"license": "MIT",
66
"repository": "faker-javascript/faker",
@@ -14,8 +14,18 @@
1414
"engines": {
1515
"node": ">=12"
1616
},
17+
"scripts": {
18+
"test": "c8 ava; xo --space 4; tsd;"
19+
},
20+
"devDependencies": {
21+
"ava": "^4.0.0",
22+
"c8": "^7.11.0",
23+
"tsd": "^0.19.1",
24+
"xo": "^0.47.0"
25+
},
1726
"files": [
18-
"index.js"
27+
"index.js",
28+
"index.d.ts"
1929
],
2030
"keywords": [
2131
"fakerjs",

test.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import test from 'ava';
2+
import faker from './index.js';
3+
4+
test('faker return type to be object', t => {
5+
t.is(typeof faker, 'object');
6+
});
7+
8+
test('faker boolean return type to be boolean', t => {
9+
t.is(typeof faker.boolean(), 'boolean');
10+
});
11+
12+
test('faker string return type to be string', t => {
13+
t.is(typeof faker.string(), 'string');
14+
});
15+
16+
test('faker age return type to be number', t => {
17+
t.is(typeof faker.age(), 'number');
18+
});
19+
20+
test('faker animal return type to be string', t => {
21+
t.is(typeof faker.animal(), 'string');
22+
});
23+
24+
test('faker integer return type to be number', t => {
25+
t.is(typeof faker.integer(), 'number');
26+
});
27+
28+
test('faker float return type to be number', t => {
29+
t.is(typeof faker.float(), 'number');
30+
});
31+
32+
test('faker gende return type to be string', t => {
33+
t.is(typeof faker.gender(), 'string');
34+
});
35+
36+
test('faker superhero return type to be string', t => {
37+
t.is(typeof faker.superhero(), 'string');
38+
});
39+
40+
test('faker profession return type to be string', t => {
41+
t.is(typeof faker.profession(), 'string');
42+
});
43+
44+
test('faker ip return type to be string', t => {
45+
t.is(typeof faker.ip(), 'string');
46+
});
47+
48+
test('faker letter return type to be string', t => {
49+
t.is(typeof faker.letter(), 'string');
50+
});

0 commit comments

Comments
 (0)