README
slump
Create random json.
Ported from node-random-json
.
Install
$ npm install slump --save
Usage
Generate a random json object:
const random = require('slump')
console.log(JSON.stringify(random.json(), null, 2))
[
[
null,
0.7102621181796653,
[]
]
]
Api
random.bytes([size])
Returns a buffer of random bytes of size size
, which defaults to one.
random.byte()
Returns a single random byte.
random.integer([signed])
Returns a 32 bit integer. If signed
is trueish both negative and positive values are generated. Default is non signed integers.
random.float()
Returns a float as a result of division of two random integers. Random floats are always signed.
random.string([options[, length]])
Returns a random string in utf8
encoding.
If length
is omitted the string length is a random integer between 0
and 100
. So the string can be empty.
Randomizes a much longer string of bytes and cuts it off to appropriate length.
options
can be used for different encodings:
options.enc
(string) Defaults toutf8
. Valid encodings areutf8
,ascii
,hex
,base64
andbase58
options.length
(number) Length of string.options.values
(array) Array of predetermined strings.
const random = require('slump')
// random string with random length
const s1 = random.string()
// random string with length 20
const s2 = random.string(20)
// random base58 encoded string with length 30
const s3 = random.string({ enc: 'base58', length: 30 })
// randomize between predetermined values
const values = [ 'apples', 'oranges', 'bananas' ]
const s4 = random.string({ values: values })
random.array([length])
Returns a fixed length
random array where the elements are random json values, i.e. the elements can be anything from null, false, true, another json object etc.
If length
is omitted the string length is a random integer between 0
and 10
. So the array can be empty.
random.obj([size])
Returns a random object with size
number of random keys and values. Each property is a random.string()
(with random length) and each value is a random.json()
.
If size
is omitted the number of properties is a random integer between 0
and 10
. So the object can be empty.
random.json()
Generates a random json
object value, i.e. either of the following:
false
true
null
random.integer()
random.float()
random.string()
random.array()
random.obj()
Todo
- Configuration for changing default behaviors and also per single operations, i.e. default lengths of strings etc.
- More advanced schemas. It could be useful to generate random data that still follows a defined structure, perhaps you want arrays of only strings, number intervals and things like that.
License
All code, unless stated otherwise, is licensed under the WTFPL
.