getfake v0.40.0
getfake
Generate fake values.
Use case
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"
}
}
]
}Table of content
Getting started
Install
To install this run the following command in the terminal.
npm i getfakeRequire
Require getfake.
// ESM
import getfake from 'getfake';
// CommonJs
const { getfake } = require('getfake');Functions
Address
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 JSONline1line2line3landmarkpostcodecapitalanybyCountryCode
stateanybyCountryCode
countryanybyCountryCode
countryCodeAlpha2anybyCountryCode
countryCodeAlpha3anybyCountryCode
countryCodeNumericanybyCountryCode
latanybyCountryCode
lnganybyCountryCode
line1
This is for Flat Number, Home Number, Floor, etc.
const line1 = getfake.address.line1();Example: Flat 1, Floor #21, La Grande Apartment
line2
This is for street, area, road etc.
const line2 = getfake.address.line2();Example: 9 Road, Sector #7
line3
This is for proximity.
const line3 = getfake.address.line3();Example: Next to Green Lake View
landmark
This is for landmark.
const landmark = getfake.address.landmark();Example: Opposite Grand Mall
postcode
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
capital.any
This is for capital.
const capital = getfake.address.capital.any();Example: New Delhi
capital.byCountryCode
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.
state.any
This is for state.
const state = getfake.address.state.any();Example: New Delhi
state.byCountryCode
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.
country.any
This is for country.
const country = getfake.address.country.any();Example: India
country.byCountryCode
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.
countryCodeAlpha2.any
This is for 2 characters country code.
const country = getfake.address.countryCodeAlpha2.any();Example: IN
countryCodeAlpha2.byCountryCode
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.
countryCodeAlpha3.any
This is for 3 characters country code.
const country = getfake.address.countryCodeAlpha3.any();Example: IND
countryCodeAlpha3.byCountryCode
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.
countryCodeNumeric.any
This is for numeric country code.
const country = getfake.address.countryCodeNumeric.any();Example: 356
countryCodeNumeric.byCountryCode
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.
lat.any
This is for latitude.
const latitude = getfake.address.lat.any();Example: -52.10329
lat.byCountryCode
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.
lng.any
This is for longitude.
const longitude = getfake.address.lng.any();Example: -100.77519
lng.byCountryCode
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.
Credit Card
For fake credit card.
const creditCard = getfake.creditCard.any();Example: 4532289439807445
Available functions getfake.creditCard.*:
anyamexdinersClubdiscoverenRoutejcbmastercardvisavoyager
Amex
For fake Amex credit card
const amex = getfake.creditCard.amex.any();Example: 346981070475953
Diners Club
For fake Diners Club credit card
const dinersClub = getfake.creditCard.dinersClub.any();Example: 3003779094744455
Discover
For fake Discover credit card
const discover = getfake.creditCard.discover.any();Example: 6011448881348903
enRoute
For fake enRoute credit card
const enRoute = getfake.creditCard.enRoute.any();Example: 2014601218861479
JCB
For fake JCB credit card
const jcb = getfake.creditCard.jcb.any();Example: 3561878578250742
MasterCard
For fake MasterCard credit card
const mastercard = getfake.creditCard.mastercard.any();Example: 5408987605338974
Visa
For fake Visa credit card
const visa = getfake.creditCard.visa.any();Example: 4539403188199721
Voyager
For fake Voyager credit card
const voyager = getfake.creditCard.voyager.any();Example: 8699736866519059
For fake email.
const email = getfake.email.any(option);Example: jane@example.com
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:
Hash
MD
For fake MD hash.
const hash = getfake.hash.md.md5();Example: 2c3e74bae60b76106460f80f6e22ed95
Available functions getfake.hash.md.*:
anymd2md4md5
SHA
For fake SHA hash.
const hash = getfake.hash.sha.sha256();Example: d0a3e8faa7dee104414fcc55962c42c13cea0dab2b900a385a7c79c10859e574
Available functions getfake.hash.sha.*:
sha1sha224sha256sha384sha512
ID
For fake IDs.
const rut = getfake.id.chile.rut.any();Example: 79.865.450-0
Available functions getfake.id.*:
chile.rut.anyusa.ssn.*anylast4
chile.rut.any
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:
usa.ssn.any
For fake SSN.
const ssn = getfake.id.usa.ssn.any(option);Example: 545-11-2222
Arguments:
- option
- Type:
{formatted: boolean} - Default:
{formatted: true}
- Type:
usa.ssn.last4
For fake SSN last 4 digits.
const ssnLast4Digits = getfake.id.usa.ssn.last4();Example: 2222
IP Address
For fake IP Address.
const ipAddress = getfake.ipAddress.any();Example: 127.0.0.1
Available functions getfake.ipAddress.*:
anylocalhostprivateNetwork10privateNetwork192_168
any
const ipAddress = getfake.ipAddress.any();Range: 0.0.0.0 to 255.255.255.255
localhost
const ipAddress = getfake.ipAddress.localhost.any();Available functions getfake.ipAddress.localhost.*:
any- Range: 127.0.0.0 to 127.255.255.255
privateNetwork10
const ipAddress = getfake.ipAddress.privateNetwork10.any();Range: 10.0.0.0 to 10.255.255.255
privateNetwork192._168
const ipAddress = getfake.ipAddress.privateNetwork192._168.any();Range: 192.168.0.0 to 192.168.255.255
ISBN
For fake ISBN.
const isbn = getfake.isbn.v13.any();Example: 978-0-46-222871-6
Available functions getfake.isbn.*:
v13.any
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:
Latitude
For fake latitude.
const latitude = getfake.latitude.any(decimalPlaces);Example: -52.10329
Arguments:
- decimalPlaces
- Type: positive integer
- Default: 2
Longitude
For fake longitude.
const longitude = getfake.longitude.any(decimalPlaces);Example: -100.77519
Arguments:
- decimalPlaces
- Type: positive integer
- Default: 2
MAC Address
For fake MAC address.
const macAddress = getfake.macAddress.any();Example: 89:e1:07:6a:6f:57
Name
For fake name.
const firstName = getfake.name.any.firstName();Example: John
Available name collection:
anyenglishhebrewhindihispanicmiddleEastslavicsouthAsiansouthEastAsian
Available functions for the collections getfake.name.*.*:
firstNamemiddleNamelastNamefemaleNamefemaleFirstNamefemaleMiddleNamemaleNamemaleFirstNamemaleMiddleName
Number
For fake number.
const intNumber = getfake.number.integer();Example: 608189662
Available functions getfake.number.*:
integerunsignedIntegerfloatunsignedFloatasString
integer
const intNumber = getfake.number.integer(min, max);Example: 10
Arguments:
- min
- Type: integer
- Default: -2147483647
- max
- Type: integer
- Default: 2147483647
unsignedInteger
const unsignedIntNumber = getfake.number.unsignedInteger(max);Example: 10
Arguments:
- max
- Type: integer
- Default: 2147483647
float
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
unsignedFloat
const unsignedFloatNumber = getfake.number.unsignedFloat(max, decimal);Example: 268213349.13458
Arguments:
- max
- Type: integer
- Default: 2147483647
- decimal
- Type: positive integer
- Default: 2
asString
const numberAsString = getfake.number.asString(totalNumberOfDigits, numberOfDecimalDigits);Example: 49907897.34
Arguments:
- totalNumberOfDigits
- Type: positive integer
- Default: 6
- numberOfDecimalDigits
- Type: positive integer
- Default: 0
Phone
For fake phone number.
const phone = getfake.phone.any(numberOfDigits);Example: 1100000000
Arguments:
- numberOfDigits
- Type: positive integer
- Default: 10
Available functions getfake.phone.*:
anyformatted
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');Phrase
For fake phrase.
const phrase = getfake.phrase.any(numberOfWords);Example: research depth food appointment cent
Argument:
- numberOfWords
- Type: positive integer
- Default: 12
Sentence
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.
Time
For fake time.
const timestamp = getfake.time.utcTimestamp();Example: 2022-06-09T18:10:28.796Z
Available functions getfake.time.*:
epochepochInMicroSecondsfixedEpoch- always returns a fixed valuezerothEpochutcTimestampfixedUtcTimestamp- always returns a fixed valuezerothUtcTimestampformattedDateTime
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-999UUID
For fake UUID.
const uuid = getfake.uuid.any();Example: 64c1539f-4600-718d-cfa5-b649bb5ffb00
Available functions getfake.uuid.*:
anyv4v5
Word
For fake word.
const word = getfake.word.any();Example: recipe
Available functions getfake.word.*:
any- this will return any meaningful wordgibberish
Advance usage
From JSON template
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
}
]
}
}Setting template using $getfake field
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"
}Passing arguments to $getfake function
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"
}Another example.
{
"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"
}getfakeRepeat
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"
}
}
]
}License
It's free :smiley:
MIT License Copyright (c) 2022 Yusuf Shakeel
Donate
Feeling generous :smiley: Donate via PayPal
10 months ago
10 months ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago