seededRNG.js 536 B

12345678910111213141516171819
  1. import seedrandom from 'seedrandom';
  2. var singletonRandom = /* #__PURE__ */seedrandom(Date.now());
  3. export function createRng(randomSeed) {
  4. var random;
  5. // create a new random generator with given seed
  6. function setSeed(seed) {
  7. random = seed === null ? singletonRandom : seedrandom(String(seed));
  8. }
  9. // initialize a seeded pseudo random number generator with config's random seed
  10. setSeed(randomSeed);
  11. // wrapper function so the rng can be updated via generator
  12. function rng() {
  13. return random();
  14. }
  15. return rng;
  16. }