diff options
| author | Marak <[email protected]> | 2015-07-21 01:03:08 -0700 |
|---|---|---|
| committer | Marak <[email protected]> | 2015-07-21 01:03:08 -0700 |
| commit | 98bb87a82c95c9a982905983166fc9fdaff1d6a4 (patch) | |
| tree | b61bf88e1129c66a512138ff4e02b42d8086a4c0 /lib/random.js | |
| parent | 35da03d4e7e6f535471ee471afb1d98f9c075f8d (diff) | |
| parent | 76e3fa5949412ea475de6bba55d6c1194f84540c (diff) | |
| download | faker-98bb87a82c95c9a982905983166fc9fdaff1d6a4.tar.xz faker-98bb87a82c95c9a982905983166fc9fdaff1d6a4.zip | |
Merge pull request #243 from Aweary/random-seed
[api] Implement faker.seed for deterministic output
Diffstat (limited to 'lib/random.js')
| -rw-r--r-- | lib/random.js | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/random.js b/lib/random.js index 2d37c551..fc7e54d9 100644 --- a/lib/random.js +++ b/lib/random.js @@ -1,7 +1,15 @@ var mersenne = require('../vendor/mersenne'); -function Random (faker) { - +function Random (faker, seed) { + // Use a user provided seed if it exists + if (seed) { + if (Array.isArray(seed) && seed.length) { + mersenne.seed_array(seed); + } + else { + mersenne.seed(seed); + } + } // returns a single random number based on a max number or range this.number = function (options) { @@ -28,7 +36,7 @@ function Random (faker) { var max = options.max; if (max >= 0) { max += options.precision; - } + } var randomNumber = options.precision * Math.floor( mersenne.rand(max / options.precision, options.min / options.precision)); |
