aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2022-03-24 09:21:24 +0100
committerGitHub <[email protected]>2022-03-24 08:21:24 +0000
commitfe62c1953c1b5755151c6d7562614f89733a6de1 (patch)
treee0c6f0d850b1dd1762ddd6c43de762794f8b34b4 /src
parent7141cd7d8a2fd505d3338d13ca29fd1ab7a5dc80 (diff)
downloadfaker-fe62c1953c1b5755151c6d7562614f89733a6de1.tar.xz
faker-fe62c1953c1b5755151c6d7562614f89733a6de1.zip
refactor: set seed directly (#563)
Diffstat (limited to 'src')
-rw-r--r--src/datatype.ts9
-rw-r--r--src/faker.ts11
-rw-r--r--src/random.ts9
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') {