Fakesome

For all the fakesome people out there!

Fakesome lets you easily create massive amounts of fake data. Use it to populate databases, build API prototypes or for just any other job where you need random but structured data.

Getting Started

On the server you can install fakesome with npm:

$ npm install fakesome

Then import it in your scripts like this:

import fakesome from 'fakesome'

In the browser just load the bundled javascript file ( get it from GitHub ):

<script src=fakesome.js></script>

Now you can simply call the methods to generate data:

var randomInteger = fakesome.integer(0,9)

fakesome.boolean( chanceOfTrue )

Returns randomly true or false.

Parameters

chanceOfTrue
Number
0.5
Set the probability of getting returned true.

Returns

Boolean

true or false

Examples

CodeDescriptionExample Return
fakesome.boolean()
true or false with a 50:50 chancetrue
fakesome.boolean(0.8)
80% probability of truetrue

fakesome.integer( minValue, maxValue, filter )

Returns a random integer.For unlimited large integers (string of digits) usefakesome.string().

Parameters

minValue
Number
-(2^53/2)+1
Set the lower boundary of the range.
maxValue
Number
(2^53/2)-1
Set the upper boundary of the range.
filter
Function
Function to filter the possible numbers. Receives the number as a parameter and returns true or false. function(number).

Returns

Number

The randomly generated integer.

Examples

CodeDescriptionExample Return
fakesome.integer()
Integers between inclusive -4503599627370495 and 45035996273704952986874615643106
fakesome.integer(0, 1000)
Integers between 0 and 1000163
fakesome.integer(-1000, 0)
Integers between -1000 and 0-669
fakesome.integer(2, 1000, function (n) {

    if (isNaN(n) || !isFinite(n) || n % 1 || n < 2)
        return false

    if (!(n % 2)) return (n === 2)
    if (!(n % 3)) return (n === 3)

    for (var i = 5; i <= Math.sqrt(n); i += 6) {
        if (n % i === 0) return false
        if (n % (i + 2) === 0) return false
    }

    return true
})
Prime Numbers between inclusive 2 and inclusive 1000157

fakesome.float( minValue, maxValue, filter )

Returns a random float.

Parameters

minValue
Number
-1e12
Set the lower boundary of the range.
maxValue
Number
1e12
Set the upper boundary of the range.
filter
Function
Function to filter the possible numbers. Receives the number as the first parameter and returns true or false.

Returns

Number

The randomly generated float.

Examples

CodeDescriptionExample Return
fakesome.float(0, 9)
Floats between inclusive 0 and 96.857782284626061
fakesome.float(0, 1000)
Floats between 0 and 1000899.1787447028636
fakesome.float(-1000, 0)
Floats between -1000 and 0-634.4508562670023

fakesome.date( min, max )

Returns a random Date.

Parameters

min
String
1970-01-01
Set the lower boundary of the date range.
max
String
today
Set the upper boundary of the date range.

Returns

Date

The randomly generated date.

Examples

CodeDescriptionExample Return
fakesome.date()
Random date between 1970-01-01 and today"2011-05-26T00:00:00.000Z"
fakesome.date("2000-06-01", "2001-01-01")
Random date between 2000-06-01 and 2001-01-01"2000-06-16T00:00:00.000Z"

fakesome.datetime( min, max )

Returns a random Datetime.

Parameters

min
String
1970-01-01
Set the lower boundary of the datetime range.
max
String
today
Set the upper boundary of the datetime range.

Returns

Date

The randomly generated datetime.

Examples

CodeDescriptionExample Return
fakesome.datetime()
Random datetime between 1970-01-01 and today"1971-02-18T13:48:35.369Z"
fakesome.datetime("2000-06-01", "2001-01-01")
Random datetime between 2000-06-01 and 2001-01-01"2000-12-19T06:04:40.946Z"

fakesome.character( min, max, filter )

Parameters

min
Number
32
The minimum unicode-value of the character.
max
Number
1114112
The maximum unicode-value of the character.
filter
Function
Filters the generated values before return. Receives the character as the first parameter and returns true or false.

Returns

String

The randomly generated character.

Examples

CodeDescriptionExample Return
fakesome.character()
Random Unicode character
fakesome.character(32, 126)
Random printable ASCII characterV
fakesome.character(65, 90)
Random uppercase characterJ

fakesome.string( alphabet, length )

Returns a string of characters from the specified alphabet.

Parameters

alphabet
Array
a - z
All the characters to choose from.
length
Number
10
Length of the string to be returned.

Returns

String

The string.

Examples

CodeDescriptionExample Return
fakesome.string()
String of 10 lower case ASCII charactersyxzyzvpsvd
fakesome.string(["●","☃","😀"], 15)
String of 15 weird characters●😀●😀☃●😀😀☃●☃☃☃☃●

fakesome.element( array )

Returns a random element of an array.

Parameters

*array
Array
The array to choose the element from.

Returns

 

An element from the source array.

Examples

CodeDescriptionExample Return
fakesome.element(["apple","banana","pear"])
A random fruitbanana

fakesome.word( minChars, maxChars )

Returns a random word with a minimum and maximum number of characters.

Parameters

minChars
Number
1
Minimum number of characters in the word.
maxChars
Number
20
Maximum number of characters in the word.

Returns

String

The word

Examples

CodeDescriptionExample Return
fakesome.word()
Random word with 1 to 20 characterseos
fakesome.word(2, 5)
Random word with 2 to 5 charactersdolor

fakesome.words( quantity, minChars, maxChars )

Get the specified number of words with a maximum and minimumnumber of characters.

Parameters

quantity
Number
10
Number of words.
minChars
Number
1
The minimum number of characters.
maxChars
Number
20
The maximum number of characters.

Returns

String

Space separated string of the words.

Examples

CodeDescriptionExample Return
fakesome.words()
String of 10 space separated words with between 1 and 20 characterseos sit eirmodtempor sanctus et diam sit ipsum takimata labore
fakesome.words(5, 2, 3)
String of 5 space separated words with between 2 and 3 charactersea duo no at sit

fakesome.text( min, max )

Get a text section with a certain number of characters.

Parameters

min
Number
50
Minimum number of characters in the text section.
max
Number
100
Maximum number of characters in the text section.

Returns

String

The text.

Examples

CodeDescriptionExample Return
fakesome.text()
A text section consisting of 100 characterslorem ipsum dolor sit amet consetetur sadipscing elitr sed diam nonumy eirmod t
fakesome.text(10)
String of 10 characterslorem ipsum dolor

fakesome.sentence( min, max )

Get a sentence with a minimum and maximum number of words.

Parameters

min
Number
5
Minimum number of words in the sentence.
max
Number
25
Maximum number of words in the sentence.

Returns

String

The sentence.

Examples

CodeDescriptionExample Return
fakesome.sentence()
Get a sentence with 5 to 25 wordsAmet sed sed clita sadipscing dolore et rebum elitr no temporinvidunt kasd ea accusamet sed sanctus magna sed duo ipsumdolor lorem eos kasd diam.
fakesome.sentence(40, 50)
Get a sentence with 40 to 50 wordsRebum sadipscing sed etjusto stet elitr diam est et dolore sea et duo dolor invidunt aliquyam aliquyam vero et lorem ut ipsumdolor amet labore consetetur sed sit lorem nonumy ut sanctus takimata rebum sed takimata labore dolores gubergren voluptua sadipscing voluptua erat eirmodtempor eos.
fakesome.sentence(4, 4)
Get a sentence with exactly 4 wordsAmet magna et erat.

fakesome.sentences( number, min, max )

Get the specified number of sentences with a maximum and minimum number of words.

Parameters

number
Number
1
The number of sentences.
min
Number
5
Minimum number of words per sentence.
max
Number
25
Maximum number of words per sentence.

Returns

String

The sentences.

Examples

CodeDescriptionExample Return
fakesome.sentences()
Get one sentenceAmet sit labore sit diam voluptua rebum takimata dolore.
fakesome.sentences(4)
Get 4 sentencesIpsumdolor sanctus kasd lorem sadipscing accusamet et voluptua et lorem aliquyam diam stet erat kasd diam. Ipsum amet sanctus et ut ipsum eos magna elitr. Dolor sea eirmod ut ea eos sed est ipsum voluptua. Takimata magna dolor ut sea amet ea duo.
fakesome.sentences(5, 1, 5)
Get 10 sentences with 1 to 5 words eachEa lorem. Lorem dolores nonumy magna. Lorem dolore et lorem est. Nonumy vero rebum. Diam ipsumdolor est.

fakesome.img( configObject )

Generate a random placeholder image.

Parameters

configObject
Object
Configure different parameters of the image.
tag
boolean
false
true: Returns an image tag containing a base64 coded image.
false: Returns just the base64 string.
width
Number
100
Sets the width of the image.
height
Number
100
Sets the height of the image.
elements
Number
100
Sets the number of elements in the image.
bgColor
Color
white
Sets the background color of the image.
minColor
Color
rgba(0,0,0,0)
Sets the minimum color of the elements in the image.
maxColor
Color
rgba(255,255,255,1)
Sets the maximum color of the elements in the image.

Returns

String

The image as base64 data or as html-tag.

Examples

CodeDescriptionExample Return
fakesome.img()
Base64 image datadata:image/png;base64,iVBORw0KGgoAAAANSU…
fakesome.img({
    "tag": true,
    "width": 200,
    "height": 100
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "size": true,
    "minColor": "rgba(200,0,0,0.1)",
    "maxColor": "rgba(255,200,200,0.4)"
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "size": true,
    "text": "Placeholder Text",
    "elements": 10,
    "bgColor": "rgb(120,220,240)"
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "elements": 1000,
    "filter": "grayscale"
})
Grayscale imagePlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "filter": "bw"
})
Black & white imagePlaceholder Image

fakesome.imgURL( configObject )

Parameters

configObject
Object
Configure different parameters to narrow down the set of possible images.
width
Number
100
height
Number
100
grayscale
Boolean
false
site
String
picsum.photos
Select the site to be used for loading the images. You can choose between following sites: picsum.photos and placekitten.com
number
Number
false

Returns

String

The URL.

Examples

CodeDescriptionExample Return
fakesome.imgURL()
URL to a random image on picsum.photoshttps://picsum.photos/100/100
fakesome.imgURL({
    "site": "placekitten.com",
    "width": 400,
    "height": 250,
    "grayscale": true
})
URL to a random image on placekitten.comhttps://placekitten.com/g/400/250

fakesome.color( min, max, type )

Returns a random color

Parameters

min
Number
rgb(0, 0, 0)
Set the darkest (and most transparent) possible color.
max
Number
rgb(255, 255, 255)
Set the brightest (and least transparent) possible color.
type
String
rgb
Notation type of the returned color.

Returns

String

The color.

Examples

CodeDescriptionExample Return
fakesome.color()
Random rgb colorrgb(243, 54, 215)
fakesome.color(null, null, "hsl")
Random hsl colorhsl(344.70000000000005, 86.5%, 79.6%)

fakesome.object( schema )

Create a javascript Object with custom key-value pairs. The values can either be primitives or be generated with other fakesome methods.

Parameters

*schema
Object
The schema of the object to be returned.

Returns

Object

Object with specified key-value pairs.

Examples

CodeDescriptionExample Return
fakesome.object({
    "name": "word()",
    "age": "integer(0,100)",
    "premium": "boolean()",
    "country": "de",
    "logins": 89
})
User entry{
    "name": "lorem",
    "age": 13,
    "premium": false,
    "country": "de",
    "logins": 89
}

fakesome.array( number )

This method enables you to return arrays of faked data. Simply chain one of the other fakesome methods after the array method to get an array of the method's values. E.g. fakesome.array(5).boolean() will return an array of 5 random boolean values.

Parameters

number
Number
10
Number of elements in the array.

Returns

Object

Array of elements.

fakesome.maybe( chanceOfReturn )

Chain other faksome methods after maybe() to make the return of values optional. E.g. fakesome.maybe().integer(0,9) will return an integer or null with a 50:50 chance.

Parameters

chanceOfReturn
Number
0.5
Probability that the chained function returns a value. Otherwise it will return null.

Returns

Object

All registered methods.

fakesome.unique( reset )

Chain other faksome methods after unique() to prevent them from returning the same value twice. There is a scope of uniqueness for each method.

Parameters

reset
Boolean
false
Resets the unique values array.

Returns

Object

All registered methods.

fakesome.fn

Extend fakesome with your own modules. E.g. To create the module fakesome.longWord() simply extend fakesome.fn with the corresponding function:

fakesome.fn.longWord = function(){
    return "supercalifragilisticexpialidocious"
}