diff --git a/src/faker.ts b/src/faker.ts index 14cb107d36f..ebf50a2e731 100644 --- a/src/faker.ts +++ b/src/faker.ts @@ -14,6 +14,7 @@ import { Git } from './git'; import { Hacker } from './hacker'; import { Helpers } from './helpers'; import { Image } from './image'; +import { deprecated } from './internal/deprecated'; import { Internet } from './internet'; import type { KnownLocale } from './locales'; import { Lorem } from './lorem'; @@ -49,7 +50,36 @@ export class Faker { readonly definitions: LocaleDefinition = this.initDefinitions(); - seedValue?: number | number[]; + /** + * @deprecated The value is only accurate on the first call after setting it. + */ + private _seedValue?: number | number[]; + + /** + * Useless value with the seed that was once set. Has no effect on generated values. + * + * @see faker.seed() + * + * @deprecated The value is only accurate on the first call after setting it using `faker.seed()`. + */ + get seedValue(): number | number[] { + deprecated({ + deprecated: 'faker.seedValue', + since: '6.2.0', + until: '7.0.0', + }); + return this._seedValue; + } + + set seedValue(seed: number | number[]) { + deprecated({ + deprecated: 'faker.seedValue', + proposed: 'faker.seed()', + since: '6.2.0', + until: '7.0.0', + }); + this._seedValue = seed; + } readonly fake: Fake['fake'] = new Fake(this).fake; readonly unique: Unique['unique'] = new Unique().unique; @@ -150,7 +180,7 @@ export class Faker { } seed(seed?: number | number[]): void { - this.seedValue = seed; + this._seedValue = seed; if (Array.isArray(seed) && seed.length) { this.mersenne.seed_array(seed); } else if (!Array.isArray(seed) && !isNaN(seed)) { diff --git a/test/address.spec.ts b/test/address.spec.ts index 8007714568a..69cdb3ea2e4 100644 --- a/test/address.spec.ts +++ b/test/address.spec.ts @@ -351,11 +351,10 @@ describe('address', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('countryCode()', () => { it('returns random alpha-3 countryCode', () => { diff --git a/test/animal.spec.ts b/test/animal.spec.ts index b98aae5004b..64ffb99095b 100644 --- a/test/animal.spec.ts +++ b/test/animal.spec.ts @@ -99,11 +99,10 @@ describe('animal', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { for (const functionName of functionNames) { describe(`${functionName}()`, () => { diff --git a/test/commerce.spec.ts b/test/commerce.spec.ts index 64c7d7b324d..f0bc4cfb694 100644 --- a/test/commerce.spec.ts +++ b/test/commerce.spec.ts @@ -78,11 +78,10 @@ describe('commerce', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe(`color()`, () => { it('should return random value from color array', () => { diff --git a/test/company.spec.ts b/test/company.spec.ts index 7b8e7820dd2..c9cbdafc7c0 100644 --- a/test/company.spec.ts +++ b/test/company.spec.ts @@ -87,11 +87,10 @@ describe('company', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('suffixes()', () => { it('should return all suffixes', () => { diff --git a/test/database.spec.ts b/test/database.spec.ts index 053f91d9f9f..073f5600379 100644 --- a/test/database.spec.ts +++ b/test/database.spec.ts @@ -63,11 +63,10 @@ describe('database', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('column()', () => { it('should return a column name from array', () => { diff --git a/test/datatype.spec.ts b/test/datatype.spec.ts index 696c501cf32..bd07cfa8833 100644 --- a/test/datatype.spec.ts +++ b/test/datatype.spec.ts @@ -422,11 +422,10 @@ describe('datatype', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('number', () => { it('should return a random number given a maximum value as Number', () => { diff --git a/test/date.spec.ts b/test/date.spec.ts index 99141a89476..4cb0e0fac98 100644 --- a/test/date.spec.ts +++ b/test/date.spec.ts @@ -365,11 +365,10 @@ describe('date', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('past()', () => { it('should return a date 5 years in the past', () => { diff --git a/test/finance.spec.ts b/test/finance.spec.ts index 2052d4235a7..4b413eb7414 100644 --- a/test/finance.spec.ts +++ b/test/finance.spec.ts @@ -122,11 +122,10 @@ describe('finance', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('account()', () => { it('should supply a default length', () => { @@ -389,8 +388,6 @@ describe('finance', () => { }); it('should ignore case for provider', () => { - const seed = faker.seedValue; - faker.seed(seed); const actualNonLowerCase = faker.finance.creditCardNumber('ViSa'); diff --git a/test/finance_iban.spec.ts b/test/finance_iban.spec.ts index 64de0504af3..1b9bab4d19b 100644 --- a/test/finance_iban.spec.ts +++ b/test/finance_iban.spec.ts @@ -7,7 +7,8 @@ const NON_SEEDED_BASED_RUN = 25; describe('finance_iban', () => { // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); describe('generic IBAN country checks', () => { it.each(ibanLib.formats.map((entry) => entry.country))('%s', (country) => { @@ -19,9 +20,7 @@ describe('finance_iban', () => { }); }); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('specific IBAN country checks', () => { it('IBAN for Georgia is correct', () => { diff --git a/test/git.spec.ts b/test/git.spec.ts index 84f85e760d0..35da3f965e0 100644 --- a/test/git.spec.ts +++ b/test/git.spec.ts @@ -99,11 +99,10 @@ describe('git', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('branch()', () => { it('should return a random branch', () => { diff --git a/test/hacker.spec.ts b/test/hacker.spec.ts index 1a567588aee..4f296b9e535 100644 --- a/test/hacker.spec.ts +++ b/test/hacker.spec.ts @@ -106,11 +106,10 @@ describe('name', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('abbreviation()', () => { beforeEach(() => { diff --git a/test/helpers.spec.ts b/test/helpers.spec.ts index 9f81e20191f..b48407f8cce 100644 --- a/test/helpers.spec.ts +++ b/test/helpers.spec.ts @@ -491,11 +491,10 @@ describe('helpers', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('randomize()', () => { // Will be marked as deprecated soon diff --git a/test/internet.spec.ts b/test/internet.spec.ts index a16ee39f0d8..b834f12650c 100644 --- a/test/internet.spec.ts +++ b/test/internet.spec.ts @@ -124,11 +124,10 @@ describe('internet', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('avatar', () => { it('should return a random avatar url', () => { diff --git a/test/lorem.spec.ts b/test/lorem.spec.ts index 1f2dbc5b22f..bc1613c1125 100644 --- a/test/lorem.spec.ts +++ b/test/lorem.spec.ts @@ -119,11 +119,10 @@ describe('lorem', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('word()', () => { it('should return random value from word array', () => { diff --git a/test/music.spec.ts b/test/music.spec.ts index 73457e8dbcd..782bb541c86 100644 --- a/test/music.spec.ts +++ b/test/music.spec.ts @@ -52,11 +52,10 @@ describe('music', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('genre()', () => { it('should return a genre', () => { diff --git a/test/name.spec.ts b/test/name.spec.ts index 97ac7fbacb3..f52c4a408bf 100644 --- a/test/name.spec.ts +++ b/test/name.spec.ts @@ -164,11 +164,10 @@ describe('name', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('firstName()', () => { beforeEach(() => { diff --git a/test/phone.spec.ts b/test/phone.spec.ts index 162de0311c6..80688def78d 100644 --- a/test/phone.spec.ts +++ b/test/phone.spec.ts @@ -100,11 +100,10 @@ describe('phone', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('phoneNumber()', () => { it('should return a random phoneNumber with a random format', () => { diff --git a/test/system.spec.ts b/test/system.spec.ts index 5eec52b4442..b5dd4e09f77 100644 --- a/test/system.spec.ts +++ b/test/system.spec.ts @@ -84,11 +84,10 @@ describe('system', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('commonFileExt()', () => { it('should return common file types', () => { diff --git a/test/time.spec.ts b/test/time.spec.ts index 82c3fbae3af..2fbc2518ecd 100644 --- a/test/time.spec.ts +++ b/test/time.spec.ts @@ -48,11 +48,10 @@ describe('time', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('recent()', () => { it('should return the recent timestamp in unix time format by default', () => { diff --git a/test/unique.spec.ts b/test/unique.spec.ts index 6f26a0c5067..b51e4ba24ad 100644 --- a/test/unique.spec.ts +++ b/test/unique.spec.ts @@ -81,11 +81,10 @@ describe('unique', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('unique()', () => { it('should be possible to call a function with no arguments and return a result', () => { diff --git a/test/vehicle.spec.ts b/test/vehicle.spec.ts index 28757e6b03a..3046219e75c 100644 --- a/test/vehicle.spec.ts +++ b/test/vehicle.spec.ts @@ -79,11 +79,10 @@ describe('vehicle', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe('vehicle()', () => { it('should return a random vehicle', () => { diff --git a/test/word.spec.ts b/test/word.spec.ts index d236f564a0c..7e99cb0c0de 100644 --- a/test/word.spec.ts +++ b/test/word.spec.ts @@ -178,11 +178,10 @@ describe('word', () => { } // Create and log-back the seed for debug purposes - faker.seed(Math.ceil(Math.random() * 1_000_000_000)); + const seed = Math.ceil(Math.random() * 1_000_000_000); + faker.seed(seed); - describe(`random seeded tests for seed ${JSON.stringify( - faker.seedValue - )}`, () => { + describe(`random seeded tests for seed ${JSON.stringify(seed)}`, () => { for (let i = 1; i <= NON_SEEDED_BASED_RUN; i++) { describe(`adjective`, () => { it('should return adjective from adjective array', () => {