diff options
| author | ST-DDT <[email protected]> | 2022-03-24 09:21:24 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-03-24 08:21:24 +0000 |
| commit | fe62c1953c1b5755151c6d7562614f89733a6de1 (patch) | |
| tree | e0c6f0d850b1dd1762ddd6c43de762794f8b34b4 /src | |
| parent | 7141cd7d8a2fd505d3338d13ca29fd1ab7a5dc80 (diff) | |
| download | faker-fe62c1953c1b5755151c6d7562614f89733a6de1.tar.xz faker-fe62c1953c1b5755151c6d7562614f89733a6de1.zip | |
refactor: set seed directly (#563)
Diffstat (limited to 'src')
| -rw-r--r-- | src/datatype.ts | 9 | ||||
| -rw-r--r-- | src/faker.ts | 11 | ||||
| -rw-r--r-- | src/random.ts | 9 |
3 files changed, 9 insertions, 20 deletions
diff --git a/src/datatype.ts b/src/datatype.ts index 5dc1793c..aa7139dd 100644 --- a/src/datatype.ts +++ b/src/datatype.ts @@ -4,14 +4,7 @@ import type { Faker } from '.'; * Module to generate various primitive values and data types. */ export class Datatype { - constructor(private readonly faker: Faker, seed?: number | number[]) { - // Use a user provided seed if it is an array or number - if (Array.isArray(seed) && seed.length) { - this.faker.mersenne.seed_array(seed); - } else if (!Array.isArray(seed) && !isNaN(seed)) { - this.faker.mersenne.seed(seed); - } - + constructor(private readonly faker: Faker) { // Bind `this` so namespaced is working correctly for (const name of Object.getOwnPropertyNames(Datatype.prototype)) { if (name === 'constructor' || typeof this[name] !== 'function') { diff --git a/src/faker.ts b/src/faker.ts index 83f59a06..572bbaf2 100644 --- a/src/faker.ts +++ b/src/faker.ts @@ -129,10 +129,13 @@ export class Faker { }); } - seed(value?: number | number[]): void { - this.seedValue = value; - this.random = new Random(this, this.seedValue); - this.datatype = new Datatype(this, this.seedValue); + seed(seed?: number | number[]): void { + this.seedValue = seed; + if (Array.isArray(seed) && seed.length) { + this.mersenne.seed_array(seed); + } else if (!Array.isArray(seed) && !isNaN(seed)) { + this.mersenne.seed(seed); + } } /** diff --git a/src/random.ts b/src/random.ts index dd58c3ce..b84a2ece 100644 --- a/src/random.ts +++ b/src/random.ts @@ -18,14 +18,7 @@ function arrayRemove<T>(arr: T[], values: T[]): T[] { * Generates random values of different kinds. Some methods are deprecated and have been moved to dedicated modules. */ export class Random { - constructor(private readonly faker: Faker, seed?: number | number[]) { - // Use a user provided seed if it is an array or number - if (Array.isArray(seed) && seed.length) { - this.faker.mersenne.seed_array(seed); - } else if (!Array.isArray(seed) && !isNaN(seed)) { - this.faker.mersenne.seed(seed); - } - + constructor(private readonly faker: Faker) { // Bind `this` so namespaced is working correctly for (const name of Object.getOwnPropertyNames(Random.prototype)) { if (name === 'constructor' || typeof this[name] !== 'function') { |
