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