Fakerator
Random fake data generator with localization for Javascript in Node.js and browser
Install / Use
/learn @icebob/FakeratorREADME
fakerator 
Random fake data generator with localization
fakerator was inspired by and has used data definitions from Marak's faker.js library
If you like my work, please donate. Thank you!
Demo
Install
Bower
$ bower install fakerator
NodeJS
$ npm install fakerator
Manual
Download the package and use the dist/fakerator.js or the dist/fakerator.min.js file in your project.
Usage
Browser
<script src="https://rawgit.com/icebob/fakerator/master/dist/fakerator.js"></script>
<script>
var fakerator = Fakerator();
var name = fakerator.names.name();
var user = fakerator.entity.user();
</script>
NodeJS
var Fakerator = require("fakerator");
var fakerator = Fakerator("de-DE");
var name = fakerator.names.name();
// Result: 'Dr. Marcus Drechsler'
Shortly
var fakerator = require("fakerator")("hu-HU");
var name = fakerator.names.name();
// Result: 'Fülöp Magdolna'
Or load a specific locale
var fakerator = require("fakerator/locales/de-DE")();
var name = fakerator.names.name();
// Result: 'Dr. Marcus Drechsler'
Seeding
The library uses the Mersenne Twister pseudorandom number generator, so set seed value, if you want to get a repeatable random sequence:
fakerator.seed(5567832);
Random
Generate random values or select a random element from array.
Function | Description | Sample result
-----------------------------------| --------------------------- | -----------------------
fakerator.random.boolean() | Generate a boolean value | true
fakerator.random.boolean(likelihoodPercent) | Generate a boolean value based a likelihood value. | false
fakerator.random.number(max) | Generate a number value between 0 and max value | 87
fakerator.random.number(min, max) | Generate a number value between min and max | 54
fakerator.random.digit() | Generate a digit (0..9) | 5
fakerator.random.letter() | Generate a letter (a..z) | "h"
fakerator.random.arrayElement(array) | Give a random element from the array |
fakerator.random.objectElement(obj) | Give a random { key: value } from the object
fakerator.random.masked(mask) | Generate a masked string ( a - lowercase letter, A - uppercase letter, 9 - digit, * - letter or digit | "aaa-AAA_999:*" -> "aqa-RPG_932:6"
fakerator.random.hex(length) | Generate a hexadecimal number | "7950a0b9"
fakerator.random.string(length) | Generate a random string | "dulgecbhrsa"
Localization
The library supports localizations. You can set the locale code in constructor.
Usage
// Use default (English) localization
var fakerator = Fakerator();
console.log(fakerator.names.name());
// Floyd Corkery
// Use german
var fakerator = Fakerator("de-DE");
console.log(fakerator.names.name());
// Hassan vom Kumbernuss
// Use russian
var fakerator = Fakerator("ru-RU");
console.log(fakerator.names.name());
// Альберт Валентинович Архипов
In production, you can load only a specific locale:
// Use french
var fakeratorFR = require("fakerator/locales/fr-FR")();
console.log(fakeratorFR.names.name());
// Dufour Camille
Available localizations:
Code | Language/Country | Usage | Creator/Source
--------- | --------------------- | ------------------------- | --------------
default | English (default) | Fakerator(); | faker.js
cs-CZ | Czech | Fakerator("cs-CZ"); | zpiman
de-DE | German | Fakerator("de-DE"); | faker.js
en-AU | English (Australia) | Fakerator("en-AU"); | faker.js
en-CA | English (Canada) | Fakerator("en-CA"); | faker.js
es-ES | Spanish | Fakerator("es-ES"); | faker.js
fr-FR | French | Fakerator("fr-FR"); | faker.js
hu-HU | Hungarian | Fakerator("hu-HU"); | Icebob
it-IT | Italian | Fakerator("it-IT"); | faker.js
nb-NO | Norwegian | Fakerator("nb-NO"); | faker.js
pl-PL | Polish | Fakerator("pl-PL"); | faker.js
pt-BR | Brazilian Portuguese | Fakerator("pt-BR"); | Filipe Forattini
ru-RU | Russian | Fakerator("ru-RU"); | faker.js
sk-SK | Slovakian | Fakerator("sk-SK"); | faker.js
sv-SE | Swedish | Fakerator("sv-SE"); | faker.js
Custom locale
Please read this how to add a new locale
Generators
Use this functions to generate fake random data
Names
Function | Description | Sample result
--------------------------------- | ------------------------------- | -----------------------
fakerator.names.name() | Generate a full name | "Dr. Sheryl Gleichner"
fakerator.names.nameM() | Generate a male full name () | "Bruce Weber"
fakerator.names.nameF() | Generate a female full name () | "Juanita Daniel"
fakerator.names.firstName() | Generate a first name | "Marco"
fakerator.names.firstNameM() | Generate a male first name () | "Bruce"
fakerator.names.firstNameF() | Generate a female first name ()| "Kelly"
fakerator.names.lastName() | Generate a last name | "Reilly"
fakerator.names.lastNameM() | Generate a male last name () | "Collier"
fakerator.names.lastNameF() | Generate a female last name () | "Moore"
fakerator.names.prefix() | Generate a name prefix name | "Mr."
fakerator.names.suffix() | Generate a name suffix | "MD"
(*) - if localization support
Address
Function | Description | Sample result
------------------------------------- | --------------------------- | -----------------------
fakerator.address.country() | Give a country name | "Romania"
fakerator.address.countryCode() | Give a country code | "RO"
fakerator.address.countryAndCode() | Give a country object | { code: "RO", name: "Romania" }
fakerator.address.city() | Generate a city name | "Merlestad"
fakerator.address.street() | Generate a street address | "96214 Annette Radial Apt. 543"
fakerator.address.streetName() | Generate a street name | "Gabriel Islands"
fakerator.address.buildingNumber() | Generate a building number | "196"
fakerator.address.postCode() | Generate a post code | "54360-6405"
fakerator.address.geoLocation() | Generate a geolocation | { latitude: 40.4233, longitude: -131.9741 }
fakerator.address.altitude() | Generate an altitude | 1180
Phone
Function | Description | Sample result
-----------------------------------| --------------------------- | -----------------------
fakerator.phone.number() | Generate a phone number | "(640) 552-0763"
Company
Function | Description | Sample result
-----------------------------------| --------------------------- | -----------------------
fakerator.company.name() | Generate a company name | "Weber, Gleichner and Kertzmann Inc."
fakerator.company.suffix() | Generate a company suffix | "LLC"
Internet data
Function | Description | Sample result
----------------------------------- | --------------------------- | -----------------------
fakerator.internet.userName() | Generate a username | "kelly.moore14"
fakerator.internet.userName(firstName, lastName) | Generate

