BluffMaster is a JavaScript library built on top of the Faker.JS library. It generates massive amounts of fake data in the browser and node.js.
Fake data is useful when building and testing our application. BluffMaster can generate fake data for various areas, including address, commerce, company, date, finance, image, random, or name.
This project was originally created and hosted at https://github.com/marak/Faker.js/ - however around 4th Jan, 2022 - the author decided to delete the repository along with the code, for unknown reasons.
BluffMaster is a fork of the original Faker.js library. The original library was created by Marak Squires in 2011. BluffMaster aims to maintain the original library's functionality and add new features.
<script src = "bluffmaster.js" type = "text/javascript"></script>
<script>
var randomName = bluffmaster.name.findName(); // Caitlyn Kerluke
var randomEmail = bluffmaster.internet.email(); // Rusty@arne.info
var randomCard = bluffmaster.helpers.createCard(); // random contact card containing many properties
</script>
var bluffmaster = require('bluffmaster');
var randomName = bluffmaster.name.findName(); // Rowan Nikolaus
var randomEmail = bluffmaster.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = bluffmaster.helpers.createCard(); // random contact card containing many properties
You can browse all API methods by going to the JSDoc API Browser.
- address
- zipCode
- zipCodeByState
- city
- cityPrefix
- citySuffix
- cityName
- streetName
- streetAddress
- streetSuffix
- streetPrefix
- secondaryAddress
- county
- country
- countryCode
- state
- stateAbbr
- latitude
- longitude
- direction
- cardinalDirection
- ordinalDirection
- nearbyGPSCoordinate
- timeZone
- animal
- dog
- cat
- snake
- bear
- lion
- cetacean
- horse
- bird
- cow
- fish
- crocodilia
- insect
- rabbit
- type
- commerce
- color
- department
- productName
- price
- productAdjective
- productMaterial
- product
- productDescription
- company
- suffixes
- companyName
- companySuffix
- catchPhrase
- bs
- catchPhraseAdjective
- catchPhraseDescriptor
- catchPhraseNoun
- bsAdjective
- bsBuzz
- bsNoun
- database
- column
- type
- collation
- engine
- datatype
- number
- float
- datetime
- string
- uuid
- boolean
- hexaDecimal
- json
- array
- date
- past
- future
- between
- betweens
- recent
- soon
- month
- weekday
- fake
- finance
- account
- accountName
- routingNumber
- mask
- amount
- transactionType
- currencyCode
- currencyName
- currencySymbol
- bitcoinAddress
- litecoinAddress
- creditCardNumber
- creditCardCVV
- ethereumAddress
- iban
- bic
- transactionDescription
- git
- branch
- commitEntry
- commitMessage
- commitSha
- shortSha
- hacker
- abbreviation
- adjective
- noun
- verb
- ingverb
- phrase
- helpers
- randomize
- slugify
- replaceSymbolWithNumber
- replaceSymbols
- replaceCreditCardSymbols
- repeatString
- regexpStyleStringParse
- shuffle
- mustache
- createCard
- contextualCard
- userCard
- createTransaction
- image
- image
- avatar
- imageUrl
- abstract
- animals
- business
- cats
- city
- food
- nightlife
- fashion
- people
- nature
- sports
- technics
- transport
- dataUri
- lorempixel
- unsplash
- lorempicsum
- internet
- avatar
- exampleEmail
- userName
- protocol
- httpMethod
- url
- domainName
- domainSuffix
- domainWord
- ip
- ipv6
- port
- userAgent
- color
- mac
- password
- lorem
- word
- words
- sentence
- slug
- sentences
- paragraph
- paragraphs
- text
- lines
- mersenne
- rand
- seed
- seed_array
- music
- genre
- name
- firstName
- lastName
- middleName
- findName
- jobTitle
- gender
- prefix
- suffix
- title
- jobDescriptor
- jobArea
- jobType
- phone
- phoneNumber
- phoneNumberFormat
- phoneFormats
- random
- number
- float
- arrayElement
- arrayElements
- objectElement
- uuid
- boolean
- word
- words
- image
- locale
- alpha
- alphaNumeric
- hexaDecimal
- system
- fileName
- commonFileName
- mimeType
- commonFileType
- commonFileExt
- fileType
- fileExt
- directoryPath
- filePath
- semver
- time
- recent
- unique
- vehicle
- vehicle
- manufacturer
- model
- type
- fuel
- vin
- color
- vrm
- bicycle
- word
- adjective
- adverb
- conjunction
- interjection
- noun
- preposition
- verb
BluffMaster contains a super useful generator method BluffMaster.fake
for combining faker API methods using a mustache string format.
Example:
console.log(bluffmaster.fake("{{name.lastName}}, {{name.firstName}} {{name.suffix}}"));
// outputs: "Marks, Dean Sr."
This will interpolate the format string with the value of methods name.lastName()
, name.firstName()
, and name.suffix()
BluffMaster has support for multiple localities – ported directly from the orginal faker.js library (version v2.0.0
).
The default language locale is set to English.
Setting a new locale is simple:
// sets locale to de
bluffmaster.locale = "de";
- az
- ar
- cz
- de
- de_AT
- de_CH
- en
- en_AU
- en_AU_ocker
- en_BORK
- en_CA
- en_GB
- en_IE
- en_IND
- en_US
- en_ZA
- es
- es_MX
- he
- fa
- fi
- fr
- fr_CA
- fr_CH
- ge
- hy
- hr
- id_ID
- it
- ja
- ko
- mk
- nb_NO
- ne
- nl
- nl_BE
- pl
- pt_BR
- pt_PT
- ro
- ru
- sk
- sv
- tr
- uk
- vi
- zh_CN
- zh_TW
BluffMaster supports incremental loading of locales.
By default, requiring bluffmaster
will include all locale data.
In a production environment, you may only want to include the locale data for a specific set of locales.
// loads only de locale
var bluffmaster = require('bluffmaster/locale/de');
If you want consistent results, you can set your own seed:
bluffmaster.seed(123);
var firstRandom = bluffmaster.random.number();
// Setting the seed again resets the sequence.
bluffmaster.seed(123);
var secondRandom = bluffmaster.random.number();
console.log(firstRandom === secondRandom);
npm install .
make test
You can view a code coverage report generated in coverage/lcov-report/index.html.
BluffMaster uses gulp to automate its build process. Each build operation is a separate task which can be run independently.
npm run browser
JSDOC v3 HTML API documentation
npm run jsdoc
The Readme.md
file for bluffmaster
is automatically generated and should not be modified directly. All updates to Readme.md
should be performed in ./build/src/docs.md
and then the build script should be run.
npm run readme