Nonsense
Generate repeatable random data in JS
Inspired by Faker.js Uses slightly modified Alea PRNG
Getting started
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>
Usage
Instantiation
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.
Seeding
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.
Numbers
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
Utilities
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
Language
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
Miscellaneous
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...
License
Do whatever you want with this code. The consequenses of your actions are your own responsibility.