Generate repeatable random data in JS
Inspired by Faker.js Uses slightly modified Alea PRNG
For the server, install Nonsense via npm.
npm install Nonsense
For the browser, download Nonsense.js, and include it as a script tag.
<script src="Nonsense.js"></script>
<script>
var ns = new Nonsense();
ns.integer(); // Random integer between 0 and 2^32
</script>
To create a new Nonsense instance, do var ns = new Nonsense();
. You can pass any number of arbitrary arguments to the Nonsense()
constructor to be used as seed data. If you don't pass anything, it will just use the default.
If you want to reset the seed of an instance you already have, call ns.sow()
and pass in the seed data you want to use. The constructor calls sow()
internally on instantiation.
integer()
- returns a random integer between 0 and 2^32frac()
- returns a random real number between 0 and 1real()
- returns a random real number between 0 and 2^32integerInRange(min, max)
- returns a random integer between min and maxrealInRange(min, max)
- returns a random real number between min and maxnormal()
- returns a random real number between -1 and 1
uuid()
- returns a valid v4 UUID hex stringpick(array)
- returns a random member ofarray
weightedPick(array)
- returns a random member ofarray
, favoring the earlier entriestimestamp(min, max)
- returns a random timestamp between min and max, or between the beginning of 2000 and the end of 2020 if min and max aren't specified
word()
- returns a random word of lipsumwords(n)
- returnsn
random words of lipsum, 3 if not specifiedsentence()
- returns a random lipsum sentencesentences(n)
- returnsn
random lipsum sentences, 3 if not specified
firstName()
- returns a random common first namelastName()
- returns a random common last namename()
- returns a random first and last namejobTitle()
- returns a random job titlebuzzPhrase()
- returns a random web 2.0 business plan...
Do whatever you want with this code. The consequenses of your actions are your own responsibility.