Generate fake values.
Use getfake
to generate values for development and testing.
Example: Say, we want two users then we can write the following.
const { getfake } = require('getfake');
const template = {
users: {
$getfakeRepeat: {
$times: 2,
$item: {
id: { $getfake: 'uuid.any' },
username: {
firstName: { $getfake: 'name.any.firstName' },
lastName: { $getfake: 'name.any.lastName' }
}
}
}
}
};
const json = getfake.json.fromTemplate(template);
This will give us the following output.
{
"users": [
{
"id": "34e611d4-a850-c793-3087-6638f50ba9f4",
"username": {
"firstName": "Jane",
"lastName": "Doe"
}
},
{
"id": "5c3ff84d-ff90-4d5b-254d-e350a7592f84",
"username": {
"firstName": "John",
"lastName": "Doe"
}
}
]
}
To install this run the following command in the terminal.
npm i getfake
Require getfake
.
// ESM
import getfake from 'getfake';
// CommonJs
const { getfake } = require('getfake');
For fake address.
const address = getfake.address.any();
Example:
{
"line1": "Suite 1, Floor #20, Oak Plaza",
"line2": "15 Street, Sector #4",
"line3": "Close to The Luxury Palace",
"landmark": "Behind Apple Store",
"city": "Pretoria",
"state": "String",
"country": "South Africa",
"countryCode": {
"alpha2": "ZA",
"alpha3": "ZAF",
"numeric": "710"
},
"postcode": 909979,
"latitude": -30.559482,
"longitude": 22.937506
}
Available functions getfake.address.*
:
any
- this will return address JSONline1
line2
line3
landmark
postcode
capital
any
byCountryCode
state
any
byCountryCode
country
any
byCountryCode
countryCodeAlpha2
any
byCountryCode
countryCodeAlpha3
any
byCountryCode
countryCodeNumeric
any
byCountryCode
lat
any
byCountryCode
lng
any
byCountryCode
This is for Flat Number, Home Number, Floor, etc.
const line1 = getfake.address.line1();
Example: Flat 1, Floor #21, La Grande Apartment
This is for street, area, road etc.
const line2 = getfake.address.line2();
Example: 9 Road, Sector #7
This is for proximity.
const line3 = getfake.address.line3();
Example: Next to Green Lake View
This is for landmark.
const landmark = getfake.address.landmark();
Example: Opposite Grand Mall
This is for postcode.
const postcode = getfake.address.postcode(start, end, prefix);
Example: 998030
Arguments:
- start
- Type: positive integer
- Default: 100000
- end
- Type: positive integer
- Default: 999999
- prefix
- Type: string
- Default:
''
empty string
This is for capital.
const capital = getfake.address.capital.any();
Example: New Delhi
This is for capital.
const capital = getfake.address.capital.byCountryCode(countryCode);
Example: New Delhi
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for state.
const state = getfake.address.state.any();
Example: New Delhi
This is for state.
const state = getfake.address.state.byCountryCode(countryCode);
Example: New Delhi
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for country.
const country = getfake.address.country.any();
Example: India
This is for country.
const country = getfake.address.country.byCountryCode(countryCode);
Example: India
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for 2 characters country code.
const country = getfake.address.countryCodeAlpha2.any();
Example: IN
This is for 2 characters country code.
const country = getfake.address.countryCodeAlpha2.byCountryCode(countryCode);
Example: IN
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for 3 characters country code.
const country = getfake.address.countryCodeAlpha3.any();
Example: IND
This is for 3 characters country code.
const country = getfake.address.countryCodeAlpha3.byCountryCode(countryCode);
Example: IND
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for numeric country code.
const country = getfake.address.countryCodeNumeric.any();
Example: 356
This is for numeric country code.
const country = getfake.address.countryCodeNumeric.byCountryCode(countryCode);
Example: 356
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for latitude.
const latitude = getfake.address.lat.any();
Example: -52.10329
This is for latitude.
const latitude = getfake.address.lat.byCountryCode(countryCode);
Example: -52.10329
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
This is for longitude.
const longitude = getfake.address.lng.any();
Example: -100.77519
This is for longitude.
const longitude = getfake.address.lng.byCountryCode(countryCode);
Example: -100.77519
Arguments:
- countryCode
- Type: string - uppercase - 2 or 3 characters like 'IND', 'IN'
For invalid countryCode
it will return undefined
.
For fake credit card.
const creditCard = getfake.creditCard.any();
Example: 4532289439807445
Available functions getfake.creditCard.*
:
any
amex
dinersClub
discover
enRoute
jcb
mastercard
visa
voyager
For fake Amex credit card
const amex = getfake.creditCard.amex.any();
Example: 346981070475953
For fake Diners Club credit card
const dinersClub = getfake.creditCard.dinersClub.any();
Example: 3003779094744455
For fake Discover credit card
const discover = getfake.creditCard.discover.any();
Example: 6011448881348903
For fake enRoute credit card
const enRoute = getfake.creditCard.enRoute.any();
Example: 2014601218861479
For fake JCB credit card
const jcb = getfake.creditCard.jcb.any();
Example: 3561878578250742
For fake MasterCard credit card
const mastercard = getfake.creditCard.mastercard.any();
Example: 5408987605338974
For fake Visa credit card
const visa = getfake.creditCard.visa.any();
Example: 4539403188199721
For fake Voyager credit card
const voyager = getfake.creditCard.voyager.any();
Example: 8699736866519059
For fake email.
const email = getfake.email.any(option);
Example: [email protected]
Argument:
- option
- Object:
{firstName: string, middleName: string, lastName: string, randomNumber: number, domain: string}
- Default values:
{ firstName: name.femaleName(), middleName: '', lastName: '', randomNumber: '', domain: 'example.com' }
- Object:
For fake MD hash.
const hash = getfake.hash.md.md5();
Example: 2c3e74bae60b76106460f80f6e22ed95
Available functions getfake.hash.md.*
:
any
md2
md4
md5
For fake SHA hash.
const hash = getfake.hash.sha.sha256();
Example: d0a3e8faa7dee104414fcc55962c42c13cea0dab2b900a385a7c79c10859e574
Available functions getfake.hash.sha.*
:
sha1
sha224
sha256
sha384
sha512
For fake IDs.
const rut = getfake.id.chile.rut.any();
Example: 79.865.450-0
Available functions getfake.id.*
:
chile.rut.any
usa.ssn.*
any
last4
For fake RUT.
const rut = getfake.id.chile.rut.any(option);
Example: 79.865.450-0
Arguments:
- option
- Type:
{numberOfDigits: number, formatted: boolean}
- Default:
{numberOfDigits: 9, formatted: true}
- Type:
For fake SSN.
const ssn = getfake.id.usa.ssn.any(option);
Example: 545-11-2222
Arguments:
- option
- Type:
{formatted: boolean}
- Default:
{formatted: true}
- Type:
For fake SSN last 4 digits.
const ssnLast4Digits = getfake.id.usa.ssn.last4();
Example: 2222
For fake IP Address.
const ipAddress = getfake.ipAddress.any();
Example: 127.0.0.1
Available functions getfake.ipAddress.*
:
any
localhost
privateNetwork10
privateNetwork192
_168
const ipAddress = getfake.ipAddress.any();
Range: 0.0.0.0 to 255.255.255.255
const ipAddress = getfake.ipAddress.localhost.any();
Available functions getfake.ipAddress.localhost.*
:
any
- Range: 127.0.0.0 to 127.255.255.255
const ipAddress = getfake.ipAddress.privateNetwork10.any();
Range: 10.0.0.0 to 10.255.255.255
const ipAddress = getfake.ipAddress.privateNetwork192._168.any();
Range: 192.168.0.0 to 192.168.255.255
For fake ISBN.
const isbn = getfake.isbn.v13.any();
Example: 978-0-46-222871-6
Available functions getfake.isbn.*
:
v13.any
For fake ISBN-13.
const isbn = getfake.isbn.v13.any(option);
Example: 978-0-46-222871-6
Arguments:
- option
- Type:
{formatted: boolean}
- Default:
{formatted: true}
- Type:
For fake latitude.
const latitude = getfake.latitude.any(decimalPlaces);
Example: -52.10329
Arguments:
- decimalPlaces
- Type: positive integer
- Default: 2
For fake longitude.
const longitude = getfake.longitude.any(decimalPlaces);
Example: -100.77519
Arguments:
- decimalPlaces
- Type: positive integer
- Default: 2
For fake MAC address.
const macAddress = getfake.macAddress.any();
Example: 89:e1:07:6a:6f:57
For fake name.
const firstName = getfake.name.any.firstName();
Example: John
Available name collection:
any
english
hebrew
hindi
hispanic
middleEast
slavic
southAsian
southEastAsian
Available functions for the collections getfake.name.*.*
:
firstName
middleName
lastName
femaleName
femaleFirstName
femaleMiddleName
maleName
maleFirstName
maleMiddleName
For fake number.
const intNumber = getfake.number.integer();
Example: 608189662
Available functions getfake.number.*
:
integer
unsignedInteger
float
unsignedFloat
asString
const intNumber = getfake.number.integer(min, max);
Example: 10
Arguments:
- min
- Type: integer
- Default: -2147483647
- max
- Type: integer
- Default: 2147483647
const unsignedIntNumber = getfake.number.unsignedInteger(max);
Example: 10
Arguments:
- max
- Type: integer
- Default: 2147483647
const floatNumber = getfake.number.float(min, max, decimal);
Example: -268213349.13458
Arguments:
- min
- Type: integer
- Default: -2147483647
- max
- Type: integer
- Default: 2147483647
- decimal
- Type: positive integer
- Default: 2
const unsignedFloatNumber = getfake.number.unsignedFloat(max, decimal);
Example: 268213349.13458
Arguments:
- max
- Type: integer
- Default: 2147483647
- decimal
- Type: positive integer
- Default: 2
const numberAsString = getfake.number.asString(totalNumberOfDigits, numberOfDecimalDigits);
Example: 49907897.34
Arguments:
- totalNumberOfDigits
- Type: positive integer
- Default: 6
- numberOfDecimalDigits
- Type: positive integer
- Default: 0
For fake phone number.
const phone = getfake.phone.any(numberOfDigits);
Example: 1100000000
Arguments:
- numberOfDigits
- Type: positive integer
- Default: 10
Available functions getfake.phone.*
:
any
formatted
Use this to get fake phone number with a given format.
The character x
will be replaced with digit.
Example:
Following will generate phone number like +91 11000 00000
.
const result = getfake.phone.formatted('+91 11xxx xxxxx');
For fake phrase.
const phrase = getfake.phrase.any(numberOfWords);
Example: research depth food appointment cent
Argument:
- numberOfWords
- Type: positive integer
- Default: 12
For fake sentence.
const sentence = getfake.sentence.any(numberOfWords);
Example: Keep calm and carry on.
Argument:
- numberOfWords
- Type: positive integer
- If not set, then it will return sentence with some number of words.
For fake time.
const timestamp = getfake.time.utcTimestamp();
Example: 2022-06-09T18:10:28.796Z
Available functions getfake.time.*
:
epoch
epochInMicroSeconds
fixedEpoch
- always returns a fixed valuezerothEpoch
utcTimestamp
fixedUtcTimestamp
- always returns a fixed valuezerothUtcTimestamp
formattedDateTime
This takes format like the following.
const datetime = getfake.time.formattedDateTime('MMMM DDD - DD/MM/YYYY hh:mm:ss.sss');
Example: June Thu - 10/06/2022 23:41:01.633
Where,
YYYY - for year like 2022
MM - for month number 01-12
MMM - for month short name like Jan
MMMM - for month full name like January
DD - for date 01-31
DDD - for day short name like Mon
DDDD - for day full name like Monday
hh - for hour 00-23
mm - for minute 01-59
ss - for second 01-59
sss - for milliseconds 000-999
For fake UUID.
const uuid = getfake.uuid.any();
Example: 64c1539f-4600-718d-cfa5-b649bb5ffb00
Available functions getfake.uuid.*
:
any
v4
v5
For fake word.
const word = getfake.word.any();
Example: recipe
Available functions getfake.word.*
:
any
- this will return any meaningful wordgibberish
To generate fake JSON using template.
const { getfake } = require('getfake');
const template = {
data: {
id: { $getfake: 'uuid.any' },
user: {
firstName: { $getfake: 'name.any.firstName' },
middleName: { $getfake: 'name.any.middleName' },
lastName: { $getfake: 'name.any.lastName' }
},
phone: {
countryName: { $getfake: 'address.country.byCountryCode', args: ['IND'] },
countryCode: 'IND',
number: { $getfake: 'phone.any' },
isVerified: true
},
createdAt: { $getfake: 'time.utcTimestamp' },
items: [
{
id: { $getfake: 'uuid.any' },
value: { $getfake: 'number.integer' }
}
]
}
};
const json = getfake.json.fromTemplate(template);
Output for the above template.
{
"data": {
"id": "813c2fcd-4e9b-9ec3-485b-f6b14d684542",
"user": {
"firstName": "Palash",
"middleName": "Russell",
"lastName": "Fadel"
},
"phone": {
"countryName": "India",
"countryCode": "IND",
"number": "9900000000",
"isVerified": true
},
"createdAt": "2022-06-22T18:29:38.890Z",
"items": [
{
"id": "000d8663-688e-2f10-04c4-bf48eb5252ee",
"value": 1773046214
}
]
}
}
To set the value of a field we use something like the following.
{
"id": { "$getfake": "uuid.any" }
}
This is similar to getfake.uuid.any()
.
So, the above template will give us the following result.
{
"id": "178be57a-9bd8-4ef2-8cbc-d6b6355a94d1"
}
In the following example we are passing argument.
{
"countryName": { "$getfake": "address.country.byCountryCode", "args": ["IND"] }
}
This is similar to getfake.address.country.byCountryCode('IND')
So, the above template will give us the following result.
{
"countryName": "India"
}
{
"datetime": { "$getfake": "time.formattedDateTime", "args": ["MMMM DDD - DD/MM/YYYY hh:mm:ss.sss"] }
}
This one will give the following output.
{
"datetime": "June Thu - 24/06/2022 00:19:49.489"
}
Use $getfakeRepeat
to repeat an $item
for a specific number of $times
.
{
"$getfakeRepeat": {
"$times": "positive integer",
"$item": "item to repeat"
}
}
Where, $item
can be string, boolean, number, nested object or array.
In the following example we will repeat the $item twice as $times is set to 2.
const { getfake } = require('getfake');
const template = {
users: {
$getfakeRepeat: {
$times: 2,
$item: {
id: { $getfake: 'uuid.any' },
username: {
firstName: { $getfake: 'name.any.firstName' },
lastName: { $getfake: 'name.any.lastName' }
}
}
}
}
};
const json = getfake.json.fromTemplate(template);
This will give us the following output.
{
"users": [
{
"id": "34e611d4-a850-c793-3087-6638f50ba9f4",
"username": {
"firstName": "Jane",
"lastName": "Doe"
}
},
{
"id": "5c3ff84d-ff90-4d5b-254d-e350a7592f84",
"username": {
"firstName": "John",
"lastName": "Doe"
}
}
]
}
It's free π
MIT License Copyright (c) 2022 Yusuf Shakeel
Feeling generous π Donate via PayPal