Skip to content

Commit 9b55940

Browse files
authored
chore(type): type seedValue (#567)
1 parent 748086b commit 9b55940

25 files changed

+72
-28
lines changed

src/datatype.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import type { Faker } from '.';
44
* Module to generate various primitive values and data types.
55
*/
66
export class Datatype {
7-
constructor(private readonly faker: Faker, seed?: any[] | any) {
7+
constructor(private readonly faker: Faker, seed?: number | number[]) {
88
// Use a user provided seed if it is an array or number
99
if (Array.isArray(seed) && seed.length) {
1010
this.faker.mersenne.seed_array(seed);
11-
} else if (!isNaN(seed)) {
11+
} else if (!Array.isArray(seed) && !isNaN(seed)) {
1212
this.faker.mersenne.seed(seed);
1313
}
1414

src/faker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export class Faker {
4747
// Will be lazy init
4848
readonly definitions: LocaleDefinition = {} as LocaleDefinition;
4949

50-
seedValue?: any[] | any;
50+
seedValue?: number | number[];
5151

5252
readonly fake: Fake['fake'] = new Fake(this).fake;
5353
readonly unique: Unique['unique'] = new Unique().unique;
@@ -127,7 +127,7 @@ export class Faker {
127127
});
128128
}
129129

130-
seed(value?: any[] | any): void {
130+
seed(value?: number | number[]): void {
131131
this.seedValue = value;
132132
this.random = new Random(this, this.seedValue);
133133
this.datatype = new Datatype(this, this.seedValue);

src/random.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ function arrayRemove<T>(arr: T[], values: T[]): T[] {
1818
* Generates random values of different kinds. Some methods are deprecated and have been moved to dedicated modules.
1919
*/
2020
export class Random {
21-
constructor(private readonly faker: Faker, seed?: any[] | any) {
21+
constructor(private readonly faker: Faker, seed?: number | number[]) {
2222
// Use a user provided seed if it is an array or number
2323
if (Array.isArray(seed) && seed.length) {
2424
this.faker.mersenne.seed_array(seed);
25-
} else if (!isNaN(seed)) {
25+
} else if (!Array.isArray(seed) && !isNaN(seed)) {
2626
this.faker.mersenne.seed(seed);
2727
}
2828

test/address.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,9 @@ describe('address', () => {
339339
// Create and log-back the seed for debug purposes
340340
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
341341

342-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
342+
describe(`random seeded tests for seed ${JSON.stringify(
343+
faker.seedValue
344+
)}`, () => {
343345
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
344346
describe('countryCode()', () => {
345347
it('returns random alpha-3 countryCode', () => {

test/animal.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ describe('animal', () => {
101101
// Create and log-back the seed for debug purposes
102102
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
103103

104-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
104+
describe(`random seeded tests for seed ${JSON.stringify(
105+
faker.seedValue
106+
)}`, () => {
105107
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
106108
for (const functionName of functionNames) {
107109
describe(`${functionName}()`, () => {

test/commerce.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ describe('commerce', () => {
8080
// Create and log-back the seed for debug purposes
8181
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
8282

83-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
83+
describe(`random seeded tests for seed ${JSON.stringify(
84+
faker.seedValue
85+
)}`, () => {
8486
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
8587
describe(`color()`, () => {
8688
it('should return random value from color array', () => {

test/company.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ describe('company', () => {
8989
// Create and log-back the seed for debug purposes
9090
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
9191

92-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
92+
describe(`random seeded tests for seed ${JSON.stringify(
93+
faker.seedValue
94+
)}`, () => {
9395
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
9496
describe('suffixes()', () => {
9597
it('should return all suffixes', () => {

test/database.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,9 @@ describe('database', () => {
5656
// Create and log-back the seed for debug purposes
5757
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
5858

59-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
59+
describe(`random seeded tests for seed ${JSON.stringify(
60+
faker.seedValue
61+
)}`, () => {
6062
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
6163
describe('column()', () => {
6264
it('should return a column name from array', () => {

test/datatype.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,9 @@ describe('datatype', () => {
383383
// Create and log-back the seed for debug purposes
384384
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
385385

386-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
386+
describe(`random seeded tests for seed ${JSON.stringify(
387+
faker.seedValue
388+
)}`, () => {
387389
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
388390
describe('number', () => {
389391
it('should return a random number given a maximum value as Number', () => {

test/date.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,9 @@ describe('date', () => {
423423
// Create and log-back the seed for debug purposes
424424
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
425425

426-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
426+
describe(`random seeded tests for seed ${JSON.stringify(
427+
faker.seedValue
428+
)}`, () => {
427429
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
428430
describe('past()', () => {
429431
it('should return a date 5 years in the past', () => {

test/finance.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,9 @@ describe('finance', () => {
119119
// Create and log-back the seed for debug purposes
120120
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
121121

122-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
122+
describe(`random seeded tests for seed ${JSON.stringify(
123+
faker.seedValue
124+
)}`, () => {
123125
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
124126
describe('account()', () => {
125127
it('should supply a default length', () => {

test/finance_iban.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ describe('finance_iban', () => {
99
// Create and log-back the seed for debug purposes
1010
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
1111

12-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
12+
describe(`random seeded tests for seed ${JSON.stringify(
13+
faker.seedValue
14+
)}`, () => {
1315
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
1416
describe('specific IBAN country checks', () => {
1517
it('IBAN for Georgia is correct', () => {

test/git.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ describe('git', () => {
101101
// Create and log-back the seed for debug purposes
102102
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
103103

104-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
104+
describe(`random seeded tests for seed ${JSON.stringify(
105+
faker.seedValue
106+
)}`, () => {
105107
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
106108
describe('branch()', () => {
107109
it('should return a random branch', () => {

test/hacker.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,9 @@ describe('name', () => {
108108
// Create and log-back the seed for debug purposes
109109
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
110110

111-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
111+
describe(`random seeded tests for seed ${JSON.stringify(
112+
faker.seedValue
113+
)}`, () => {
112114
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
113115
describe('abbreviation()', () => {
114116
beforeEach(() => {

test/helpers.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,9 @@ describe('helpers', () => {
493493
// Create and log-back the seed for debug purposes
494494
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
495495

496-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
496+
describe(`random seeded tests for seed ${JSON.stringify(
497+
faker.seedValue
498+
)}`, () => {
497499
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
498500
describe('randomize()', () => {
499501
// Will be marked as deprecated soon

test/internet.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ describe('internet', () => {
122122
// Create and log-back the seed for debug purposes
123123
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
124124

125-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
125+
describe(`random seeded tests for seed ${JSON.stringify(
126+
faker.seedValue
127+
)}`, () => {
126128
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
127129
describe('avatar', () => {
128130
it('should return a random avatar url', () => {

test/lorem.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ describe('lorem', () => {
121121
// Create and log-back the seed for debug purposes
122122
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
123123

124-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
124+
describe(`random seeded tests for seed ${JSON.stringify(
125+
faker.seedValue
126+
)}`, () => {
125127
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
126128
describe('word()', () => {
127129
it('should return random value from word array', () => {

test/music.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ describe('music', () => {
5454
// Create and log-back the seed for debug purposes
5555
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
5656

57-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
57+
describe(`random seeded tests for seed ${JSON.stringify(
58+
faker.seedValue
59+
)}`, () => {
5860
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
5961
describe('genre()', () => {
6062
it('should return a genre', () => {

test/name.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,9 @@ describe('name', () => {
165165
// Create and log-back the seed for debug purposes
166166
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
167167

168-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
168+
describe(`random seeded tests for seed ${JSON.stringify(
169+
faker.seedValue
170+
)}`, () => {
169171
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
170172
describe('firstName()', () => {
171173
beforeEach(() => {

test/phone.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ describe('phone', () => {
8787
// Create and log-back the seed for debug purposes
8888
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
8989

90-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
90+
describe(`random seeded tests for seed ${JSON.stringify(
91+
faker.seedValue
92+
)}`, () => {
9193
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
9294
describe('phoneNumber()', () => {
9395
it('should return a random phoneNumber with a random format', () => {

test/system.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ describe('system', () => {
9090
// Create and log-back the seed for debug purposes
9191
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
9292

93-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
93+
describe(`random seeded tests for seed ${JSON.stringify(
94+
faker.seedValue
95+
)}`, () => {
9496
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
9597
describe('commonFileExt()', () => {
9698
it('should return common file types', () => {

test/time.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ describe('time', () => {
5050
// Create and log-back the seed for debug purposes
5151
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
5252

53-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
53+
describe(`random seeded tests for seed ${JSON.stringify(
54+
faker.seedValue
55+
)}`, () => {
5456
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
5557
describe('recent()', () => {
5658
it('should return the recent timestamp in unix time format by default', () => {

test/unique.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ describe('unique', () => {
8282
// Create and log-back the seed for debug purposes
8383
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
8484

85-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
85+
describe(`random seeded tests for seed ${JSON.stringify(
86+
faker.seedValue
87+
)}`, () => {
8688
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
8789
describe('unique()', () => {
8890
it('should be possible to call a function with no arguments and return a result', () => {

test/vehicle.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ describe('vehicle', () => {
8181
// Create and log-back the seed for debug purposes
8282
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
8383

84-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
84+
describe(`random seeded tests for seed ${JSON.stringify(
85+
faker.seedValue
86+
)}`, () => {
8587
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
8688
describe('vehicle()', () => {
8789
it('should return a random vehicle', () => {

test/word.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,9 @@ describe('word', () => {
180180
// Create and log-back the seed for debug purposes
181181
faker.seed(Math.ceil(Math.random() * 1_000_000_000));
182182

183-
describe(`random seeded tests for seed ${faker.seedValue}`, () => {
183+
describe(`random seeded tests for seed ${JSON.stringify(
184+
faker.seedValue
185+
)}`, () => {
184186
for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) {
185187
describe(`adjective`, () => {
186188
it('should return adjective from adjective array', () => {

0 commit comments

Comments
 (0)