diff options
| author | ST-DDT <[email protected]> | 2024-11-12 09:19:28 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-11-12 08:19:28 +0000 |
| commit | 1633c8deb8f6f41151b39b62689ae3e02ab295bc (patch) | |
| tree | 2561a719b9154d67c51747a2263f68baf4ff8efa /src/utils | |
| parent | cb4b77c04f4d4a706819a6f34ff8378afec6523e (diff) | |
| download | faker-1633c8deb8f6f41151b39b62689ae3e02ab295bc.tar.xz faker-1633c8deb8f6f41151b39b62689ae3e02ab295bc.zip | |
feat: add initial seed parameter to constructors (#3220)
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/mersenne.ts | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/utils/mersenne.ts b/src/utils/mersenne.ts index 315335ab..585f84b5 100644 --- a/src/utils/mersenne.ts +++ b/src/utils/mersenne.ts @@ -1,10 +1,13 @@ import { MersenneTwister19937 } from '../internal/mersenne'; +import { randomSeed } from '../internal/seed'; import type { Randomizer } from '../randomizer'; /** * Generates a MersenneTwister19937 randomizer with 32 bits of precision. * This is the default randomizer used by faker prior to v9.0. * + * @param seed The initial seed to use. Defaults to a random number. + * * @example * import { de, en, generateMersenne32Randomizer, Faker } from '@faker-js/faker'; * @@ -16,10 +19,12 @@ import type { Randomizer } from '../randomizer'; * * @since 8.2.0 */ -export function generateMersenne32Randomizer(): Randomizer { +export function generateMersenne32Randomizer( + seed: number = randomSeed() +): Randomizer { const twister = new MersenneTwister19937(); - twister.initGenrand(Math.ceil(Math.random() * Number.MAX_SAFE_INTEGER)); + twister.initGenrand(seed); return { next(): number { @@ -39,6 +44,8 @@ export function generateMersenne32Randomizer(): Randomizer { * Generates a MersenneTwister19937 randomizer with 53 bits of precision. * This is the default randomizer used by faker starting with v9.0. * + * @param seed The initial seed to use. Defaults to a random number. + * * @example * import { de, en, generateMersenne53Randomizer, Faker } from '@faker-js/faker'; * @@ -50,10 +57,12 @@ export function generateMersenne32Randomizer(): Randomizer { * * @since 9.0.0 */ -export function generateMersenne53Randomizer(): Randomizer { +export function generateMersenne53Randomizer( + seed: number = randomSeed() +): Randomizer { const twister = new MersenneTwister19937(); - twister.initGenrand(Math.ceil(Math.random() * Number.MAX_SAFE_INTEGER)); + twister.initGenrand(seed); return { next(): number { |
